A food ordering app for family kitchen.
- Auth: JWT Login, register, logout.
- Multi-language support, theme color, theme mode.
- Browse menus:View all kinds of food and their details, including images, descriptions and prices.
- Order food:Choose food and add it to shopping cart.
- Recipe: Generate recipes.
- Profile: View personal information, order history, virtual coins.
- AI assistant: Ask questions about the menu.
To develop Expo, you should read Tools for development firstly.
-
Fork this repository to your GitHub account.
-
Install
[email protected]
and[email protected]
. -
Download repo and install deps.
git clone <your_clone_repo> cd imperial-kitchen yarn install
-
Install and configure
mysql
,nodemailer
andredis
.[!NOTE] If you use
docker
to start the server, you can skip the configuration ofmysql
. -
Configure server env: rename server/.env.example to server/.env.
# PORT=8000 # DB_URL="mysql://root:[email protected]:3306/imperial_kitchen" # # nodemailer # nodemailer_host= # nodemailer_auth_user= # nodemailer_auth_pass= # # jwt # JWT_SECRET=agshddgfsd # # redis # REDIS_PASSWORD= # REDIS_URL=
[!NOTE] If start server with
docker
, you getCan't reach database server at host.docker.internal:3306
error, please check the host configuration. -
Run server, and the api docs can be viewed at api-docs.
yarn dev:server
or use docker to start the server:
yarn docker:dev
-
Run mobile. Modify apps/mobile/.env.example to apps/mobile/.env, and modify EXPO_PUBLIC_BASE_URL to the server address, then run mobile:
yarn dev:mobile