Multi-Restaurant Online Food Ordering System Project using Spring Boot + React JS + MySQL

multi restaurant online food ordering image

 

Multi-Restaurant Online Food Ordering System Project using Spring Boot & React JS


The Multi-Restaurant Online Food Ordering System Project using Spring Boot & React Js ensures a seamless experience for all involved. As an administrator, you can easily add food categories to the system. The restaurant can register himself in the system and after login, he can add multiple delivery persons for him, he can add his foods to the system by selecting the food category to which the admin was added. Basically, Multiple Restaurants can add their multiple foods to the system. Once the Restaurant adds the food, all the customers who visit the website will be able to see the food along with the restaurant's details. They will be able to search the foods by selecting the category and also they can view foods based on the Restaurant.

Customers can add the foods to the cart and order the foods from the cart. After the Orders, Restaurants will be able to view their Orders and now they can assign their delivery person for the order deliveries. Once the delivery person is assigned to the order, the delivery person can log into the system and update the order delivery status at any time. In the end, the Customer will be able to see the updated status of his orders and Admin will be able to see the complete order details of all the customers from all restaurants.


multi restaurant online food ordering website image

Technologies Used in Food Ordering Project

1. Spring Boot (REST APIS)

We have developed a Multi-restaurant online food-ordering project using Spring Boot 3 and Spring Security 6.

2. React JS (Frontend)

3. MySQL for Database

4. Maven for project management

5. Bootstrap (Styling)


Software Used in Multi-Restaurant Food Ordering Project

1. STS (Spring Tool Suite)

For developing our backend, a Multi-restaurant online food-ordering project using Spring Boot, we have used STS (Spring Tool Suite) or Eclipse Ide. But yes, we can use other IDEs like Intellij Idea, NetBeans, etc.

2. VS Code (Visual Studio Code)

For developing our frontend, Multi-restaurant online food-ordering project using React JS, we have used VS Code (Visual Studio Code).

3. MySQL Workbench

For efficient querying and manipulation of data, we have used MySQL Workbench. 

Note: If we want to use databases other than Mysql like Postgresql or Oracle, etc. we can use that also, for that, we have to do the simple configuration.


User Modules in Multi-Restaurant Food Ordering Project

The project basically has four user modules:

1) ADMINISTRATOR MODULE

2) RESTAURANT MODULE

3) CUSTOMER MODULE

4) DELIVERY MODULE


Functional Modules in Food Ordering Project

1) User Authentication Module

The registration and Login system has been added so that only authenticated users (Admin, Restaurant, Delivery, or Customer) can perform their functionalities. For authentication, we have used Spring Security 6 and JWT.
                                              

2) Restaurant Module

Register Restaurant, Restaurant Login, View All Restaurants, Delete Restaurant.

3) Food Category Module: 

Add Category, Update Category, View All Category, Delete Category.

4) Food Module: 

Add Food, Update Food, View All Foods, Search Foods by Category, Search Foods by Seller, Search By Food Name, Delete Food.

5) Cart Module: 

Add Food to Cart, View Cart, Update Cart, Delete Food from Cart.

6) Order Module: 

Order Foods, View Customer Orders, View Restaurant Orders, and View All Orders.

7) Delivery Person Module: 

Register Delivery Person for Seller, View Delivery Persons, Delete Delivery Person.

8) Order Delivery Module: 

Assign Delivery to Delivery Person, View Delivery Person's Order Delivery, Update Order Delivery Status, View Updated Order Status.

OVERVIEW

multi restaurant online food ordering overview img


The Multi-restaurant online food-ordering project using Spring Boot and React JS contains 4 modules i.e. Admin, Restaurant, Delivery, and Customer. Admin can log into the system and add the food categories for which Restaurants can add the foods. Restaurants can register and log into the system, and after login, they can add their delivery persons and can add the foods to the system. Now When a customer visits the website for the very first time, he will be able to see the complete foods which were added by the restaurant. Customers can search the foods by name, category & restaurant. 

But now since the customer is not logged in to the system, he will not be able to add the foods into the cart. After login customer can add the foods to the cart. After adding, he can edit the quantity, can delete the cart. After this customer can order the food, after the order we get a unique Order ID.

Once the Customer orders the food, the Restaurant can see the customer's orders and assign their delivery person for the order delivery to the customer. Once a delivery person is assigned for the delivery, the Delivery Person can log into the system and now he will be able to see the delivery orders that are assigned to him by the seller. And now he can update the Order status at any time. After the Delivery, he can update the delivery time and status as "Delivered". And Now customer can see the updated delivery status of their Orders.

In the end, the Admin can see the complete details about Restaurants, Delivery Persons, Customers, Foods, and orders.


ROLES OF USER

ADMIN ROLE

1) Admin will be able to log in to the System.

When we successfully run our spring boot application, it automatically creates a default Admin with the credential "demo.admin@demo.com" as the email and "123456" password. So by using this, the admin can log in to the system.

By using the below form, All users (Admin, Restaurant, Delivery & Customer) can log into the system by selecting the user role.


2) Admin can register other admins.

After the Admin login, the admin can register Admins into the system by using the below form.

3) Admin can add Food Categories

Admin can add multiple categories into the system and Restaurants can add the foods from these categories only.


4) Admin can view and delete the restaurants

Admin can view all the registered restaurants in the system and at any time admin can delete the restaurant by clicking on the delete button. Once the admin deletes the restaurant, all foods added by the restaurant will also get deleted and delivery persons of that restaurant will also get deactivated from the system.

all restaurants multi restaurant online food ordering img


5) The Admin can view all the delivery persons from all the restaurants.

Admin can view all the registered delivery persons from all the restaurants.


6) Admin can view all the foods.

Admin can view all the foods from all the restaurants.

all foods multi restaurant online food ordering img

7) Admin can view and delete the food categories

Admin can view all the food categories added by him and he can delete the categories by clicking on the delete button. Once Admin deletes the category, all the foods under that category from all restaurants will also get deleted.


8) Admin can update the Category.

Admin can update the Category by below form.

9) Admin can view all the Customer orders.

Admin can view all the customer orders from all the restaurants, he can also search the orders by order ID as shown below.

all orders multi restaurant online food ordering img

10) Admin can view all the Customers.

Admin can view all the registered customers in the system.



RESTAURANT ROLE

1) The restaurant can register itself by using the below form.


2) The restaurant can register the Delivery Person by using the below form.



3) The restaurant can add his food

The restaurant can add his foods to the system by the below form.

add food multi restaurant online food ordering img

4) The restaurant can view all its foods

The restaurant can view all the foods that were added to him and by clicking on the delete button he can also delete the food.

view foods multi restaurant online food ordering


5) The restaurant can update its food.

The restaurant can update any of its foods at any time.


6) The restaurant can view and delete Delivery Persons.

The restaurant can view all the delivery persons which was registered by him and at any time he can delete the delivery persons.


7) The Restaurant can view all his orders.

The restaurant can view all the customer orders of his food as shown.


8) The restaurant can assign a delivery person for an order.

The restaurant can assign a delivery person for the customer's orders.



CUSTOMER ROLE

1) Customer can register himself by using the below form


2) Customers can search for foods by name.

view foods multi restaurant online food ordering


3) Customers can search foods by category as shown below.


4) Customers can add foods to their cart.

Customers can view food details and add the foods to the cart. And here customers will be able to see the food reviews by other customers.

view food multi restaurant online food ordering

5) Customers can view their cart.

Customer can view the foods in their cart, they can increase or decrease the food quantity of food, or simply delete the food from the cart, and below they will be able to see the total cart amount as shown below.

my cart multi restaurant online food ordering img

After clicking on the checkout button, it will get redirected to the dummy payment page.


After entering the details, when the customer clicks on the Pay button, the Food will get ordered and we will get a Unique Order ID also all the foods from the cart will get deleted.

6) Customers can view their orders.

Customers can view all orders of food along with the delivery status as shown below.

view orders multi restaurant online food ordering


DELIVERY PERSON ROLE

1) The Delivery Person can view Delivery Orders assigned to him

Delivery Persons can view all the delivery orders assigned to them by the restaurant as shown below.


2) The Delivery Person can update the Delivery Status of Orders.

The delivery Person can update the Delivery Status of the orders that were assigned to him by the restaurant and the same status will be visible to all i.e. Admin, Customer (who made orders), and Restaurant.



OTHER SPRING BOOT & REACT JS PROJECTS 


1) E-commerce Project (Admin & Customer) using Spring Boot & React.

2) Hospital Management System using Spring Boot & React.

3) Hotel Booking System using Spring Boot & React.

4) Online Banking System using Spring Boot & React.

5) Gym Management System using Spring Boot & React.

6) Employee Management System using Spring Boot & React.

7) Train Ticket Booking System using Spring Boot Microservices & React.

8) Online Bike Service Booking System using Spring Boot & React.

9) Turf Booking System Project using Spring Boot & React.

10) Task Management System Project using Spring Boot & React.

11) Airline Reservation System using Spring Boot & React.

12) Multi-Vendor E-commerce Project using Spring Boot & React.

13) Online Job Portal using Spring Boot & React.

14) Courier Management System Project using Spring Boot & React.

15) Online Bidding System Project using Spring Boot & React.

16) Online Exam Portal Project using Spring Boot & React.


Students can use this project for learning and can submit the project for their final year or Internship projects.

IF YOU WANT THE PROJECT DO CONTACT ME. 

I will give you the full project SOURCE CODE and I will do a COMPLETE SET-UP of the project on your PC or Laptop remotely.

Or You can simply Request for the Project Source Code & Set Up by clicking on the below button.

MAIL ME AT codewithmurad@gmail.com

DM ME ON INSTAGRAM at @codewithmurad

DM ME ON FACEBOOK at @codewithmurad 

DM ME ON TELEGRAM at @codewithmurad 

Connect on My Discord Server: CLICK HERE

Post a Comment

0 Comments