β¨πPizza Fleet is a pizza delivery web application that allows customers to order pizzas online. The application also allows customers to manage their profile, view their orders history and shipping addresses, and switch between light and dark mode. It is built using modern web technologies and provides an intuitive and easy-to-use interface for customers to order their favorite pizzas.
Built from scratch with MERN Stack (ReactJS, NodeJS, ExpressJS, MongoDB).β¨π
-
Customer authentication: Customers can register and login using either email and password or OAuth via Google or Facebook accounts. JWT tokens are used to authenticate and authorize requests.
-
Pizza menu: Customers can browse the available pizza menu and select the pizzas they want to order. They can also see the details of each pizza, including the description, toppings, and price.
-
Search bar: Allows users to search for pizzas by name.
-
Price range slider filter: Allows users to filter pizzas by price.
-
Pizza selection and quantity: Customers can select the pizzas they want to order and specify the quantity.
-
Shopping cart management: Customers can add pizzas to their shopping cart, update the quantity of a pizza item, or delete an pizza item from the shopping cart.
-
Coupons application: Customers can apply coupons to their shopping cart, which are specific to a particular pizza. The application checks the validity of the coupon and applies the discount to the total price of the order.
-
Order placement: Customers can place orders by specifying their delivery address and confirming their order details.
-
Profile management: Customers can view and edit their profile information, including their name, email, and password. They can also view their shipping addresses and their orders history.
-
Light and Dark mode: Customers can switch between light and dark mode, depending on their preference.
-
... And more to come with next updates!
- ReactJS
- ExpressJS
- NodeJS
- MongoDB
- Redux
- Redux Toolkit
- Mantine UI V5
1- Clone this repo.
git clone https://github.com/ilyasbelfar/Pizza-Fleet.git
cd Pizza-Fleet
2- Install Client dependencies.
cd client/
npm i
3- Install Server dependencies.
cd server/
npm i
4- Configure environment variables by creating .env file in the server directory and copy the content of env.example file in .env file, and fill it with your own secrets.
cd server/
cp env.example .env
5- Create a MongoDB database and name it 'my_app', You can use MongoDB Atlas cloud free tier.
6- Start server.
cd server/
npm start
7- Start client in another terminal while the server is running.
cd client/
npm start
I encourages contributions! Feel free to discuss any bug fixes/features in the issues section. And if you wish to work on this project:
- Fork this project
- Create a branch (
git checkout -b new-branch
) - Commit your changes (
git commit -am 'add new feature'
) - Push to the branch (
git push origin new-branch
) - Submit a pull request!