A high-performance food delivery app, created using React, Fastify, and React Native. Enjoy a seamless user experience on both web and mobile platforms, featuring quick order placement, real-time tracking, and personalized recommendations for a hassle-free dining experience.
You need to create a .env file in the backend folder !
Like for example:
# .env
DATABASE_URL="file:./dev.db"
JWT_SECRET="segredo123secreto"
$ git clone https://github.com/MarcosVini9999/food-delivery-app.git
# Install the dependencies
$ cd backend/ #to enter the backend folder
$ npm i #to install the back dependencies
$ cd .. #to exit the backend folder
$ cd frontend/ #to exit the backend folder
$ npm i #to install the front dependencies
# Run the back end
$ npm run dev
# Run the front end
$ npm run dev
- CRUD of users;
- CRUD of products;
- cart CRUD;
- It must be possible to authenticate;
- It must be possible to obtain the profile of a logged in user;
- You must have two types of user (Admin and standard)
- The user can have a cart
- The user can manipulate products in the cart
- The admin user can manipulate products
- The logged in user can add a photo
- Logged in user edit product photo
- The user's password must be encrypted;
- The user must be identified by a JWT (JSON Web Token);
- Product pagination
- /hello-world (public)
- /login (public)
- /menu (private)
- /profile (private)
- /cart (private)
- /admin-product (private)
Private routes need the login token in the header, and several of the routes need a body (see the code or postman).
- /hello-world (GET) (public)
- /login (POST)
- /user (CREATE)
- /uploads/imageId (GET)
- /upload (POST) (private)
- /uploadToProduct/:id (POST) (private)
- /users (GET) (private)
- /user/:id (GET) (private)
- /user/:id (PUT) (private)
- /user/:id (DELETE) (private)
- /product/:id (GET) (private)
- /product (POST) (private)
- /products (GET) (private)
- /product/:id (PUT) (private)
- /product/:id (DELETE) (private)
- /cart/:id (GET) (private)
- /cart (POST) (private)
- /cart (PUT) (private)
- /cart (DELETE) (private)