饕餮美食——Bon-Appetit!
2024-05-20 23:29:50作者:翟萌耘Ralph

想要查看应用的全部界面?它们都在这里。
项目简介
Bon-Appetit是一个创新的移动端应用,旨在根据用户的口味和位置,提供城市中各式餐厅、菜肴以及美食活动的推荐信息。想象一下,只需轻点几下,就能发现城市的美味秘密,无论是特色菜品还是热门餐厅,甚至即将举行的美食节庆,一切尽在掌握。
媒体亮点: 这款应用还受到过采访的青睐。
创作动机
这个项目是我个人作品集的一部分,你的反馈是我不断进步的动力!如果你有任何关于项目、代码或结构的建议,请随时通过电子邮件stenio.wagner1@gmail.com告诉我,或者在我的领英页面上与我联系。此外,你也可以自由地利用这个项目进行学习、改进,甚至是商业开发,完全免费!
项目注意事项
- 应用中的所有餐馆、美食和活动数据均为模拟数据,实际世界并不存在。这些数据由后端服务器提供。
- 用户当前的位置也是模拟的,位置信息存储在后端服务器的一个文件中。
- 在安卓设备上,你可能需要一个Google Maps API密钥才能在“附近”和“餐厅地址”屏幕上显示地图。请参照教程获取。
- 登录/注册功能目前是静态展示,仅用于UI设计。
- 设置屏幕也仅为UI设计。
安装方法
测试生产版本的应用,请参考以下安装器:
- Android .apk 安装包
- iOS .ipa 安装包:敬请期待!
功能特性
- 主页提供正在进行的美食事件、用户可能喜欢的菜品和流行菜品的信息。
- 查看特定菜品的详细信息,包括评价、价格、图片、评论以及提供该菜品的餐厅。
- 获取餐厅的详细信息,如地址、营业时间、地图位置、菜单图片等。
- 获取美食活动的具体信息,包括参与活动的餐厅列表。
- 使用菜品种类和最大搜索距离过滤餐厅。
- 查找附近提供特定菜品的餐厅,按距离从近到远排序。
开始使用
首先确保您已按照React-Native官方文档搭建基本环境,并运行项目后端服务器(参见后端项目)。
克隆项目仓库:
$ git clone https://github.com/steniowagner/bon-appetit-app
$ cd bon-appetit-app
安装依赖:
$ yarn
$ # 或者
$ npm install
连接应用至服务器:
- 按照后端项目的指南启动服务器。
- 修改
src/service/api.js中的_baseURL_字段以指向服务器IP地址(注意,使用localhost可能会在安卓物理设备上有问题,但可以在iOS上正常使用)。 - 确保服务器地址设置正确,例如:
http://< 您的机器IP >:3001/bon-appetit/api/v1 或 http://localhost:3001/bon-appetit/api/v1
现在可以运行应用:
-
对于Android设备:
$ react-native run-android -
对于iOS设备:
$ react-native run-ios
构建技术
- React-Native - 使用JavaScript和React构建原生应用
- React-Navigation - 路由框架
- Redux - React状态管理器
- Redux-Saga - Redux副作用处理
- Axios - HTTP客户端
- ESLint - 语法检查器
- Flow - 静态类型检查器
- Prettier - 代码格式化工具
- Babel - JavaScript编译器
- Reactotron - 应用调试工具
- Styled-Components - 样式库
- React-Native-Fast-Image - 图片加载库
- React-Native-Linear-Gradient - 渐变样式库
- React-Native-Maps - 地图组件
- Shimmer-Placeholder - 首页图片占位符
- React-Native-SplashScreen - 启动画面
- React-Native-Vector-Icons - 图标库
支持工具
- Image-Resize - 图像缩放服务
- Unsplash - 图像来源
- Tabs and Tidbits - 菜品食谱
- Recipe Tin Eats - 菜品食谱
- Japan - Recipe Tin Eats - 日本料理食谱
- BBC Good Food - 菜品食谱
- Trip Advisor - 餐厅信息
- LatLong - 地址转换为经纬度坐标
- Amazon S3 - 存储服务
如何贡献
欢迎发送任意多的Pull Request,我会乐于审查并接受!如果有关于项目的问题...
可以通过邮件stenio.wagner1@gmail.com联系我,或在领英上找到我。
谢谢!
许可协议
该项目遵循MIT许可证,详情请参考LICENSE.md文件。
登录后查看全文
热门项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0211
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0135
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
项目优选
收起
deepin linux kernel
C
32
16
暂无描述
Dockerfile
774
5.07 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
871
2.01 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
468
461
Ascend Extension for PyTorch
Python
756
956
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
695
1.39 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.1 K
1.14 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.03 K
271
昇腾LLM分布式训练框架
Python
182
230
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Python
1.03 K
644