How neniteja/nutribite works
NutriBite is a role-based food ordering and restaurant-management web app. Customers register or log in, browse restaurants and menus, build a cart, check out through Razorpay, and view orders. Restaurants manage menu items and update order statuses; admins manage users and restaurants. Controllers coordinate services, which use Spring Data repositories for persistence. The README documents payment verification and welcome email; the sampled source confirms those integrations, though the Razorpay API call was not tested end to end.
Main entry points: webapp JSP Web Pages · CustomerController.java Customer Ordering · AdminController.java Admin Management · AuthController.java Authentication
Components 21
Identity
- Authentication
src/main/java/com/nutribite/controller/AuthController.java - User Service
src/main/java/com/nutribite/service/UserService.java - Welcome Email
src/main/java/com/nutribite/service/EmailService.java
Customer Ordering
- JSP Web Pages
src/main/webapp - Customer Ordering
src/main/java/com/nutribite/controller/CustomerController.java - Food Service
src/main/java/com/nutribite/service/FoodService.java - Order Service
src/main/java/com/nutribite/service/OrderService.java - Payment Service
src/main/java/com/nutribite/service/RazorpayService.java
Restaurant Admin
- Restaurant Management
src/main/java/com/nutribite/controller/RestaurantController.java - Admin Management
src/main/java/com/nutribite/controller/AdminController.java
Services And Data
- Restaurant Service
src/main/java/com/nutribite/service/RestaurantService.java - Food Repository
src/main/java/com/nutribite/repository/FoodRepository.java - Order Repository
src/main/java/com/nutribite/repository/OrderRepository.java - Restaurant Repository
src/main/java/com/nutribite/repository/RestaurantRepository.java - User Repository
src/main/java/com/nutribite/repository/UserRepository.java
Other components
- Customer
- Restaurant User
- Admin
- Mail Provider
- Razorpay
- MySQL
Connections 30
- Customer → JSP Web Pages: uses
- Restaurant User → JSP Web Pages: uses
- Admin → JSP Web Pages: uses
- JSP Web Pages → Authentication: submits auth
- Authentication → User Service: registers or validates
- Authentication → Restaurant Service: validates restaurant
- Authentication → Welcome Email: sends welcome
- Welcome Email → Mail Provider: sends message
- JSP Web Pages → Customer Ordering: requests ordering
- Customer Ordering → Restaurant Service: lists restaurants
- Customer Ordering → Food Service: loads menu
- Customer Ordering → Order Service: places and lists orders
- Customer Ordering → Payment Service: creates and verifies payment
- Payment Service → Razorpay: creates payment order
- JSP Web Pages → Restaurant Management: requests management
- Restaurant Management → Food Service: manages menu
- Restaurant Management → Order Service: reads and updates orders
- JSP Web Pages → Admin Management: requests administration
- Admin Management → User Service: manages users
- Admin Management → Restaurant Service: manages restaurants
- Admin Management → Food Service: removes restaurant menu
- Admin Management → Order Service: reads and deletes orders
- Food Service → Food Repository: reads and writes
- Order Service → Order Repository: reads and writes
- Restaurant Service → Restaurant Repository: reads and writes
- User Service → User Repository: reads and writes
- Food Repository → MySQL: persists food
- Order Repository → MySQL: persists orders
- Restaurant Repository → MySQL: persists restaurants
- User Repository → MySQL: persists users