aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md231
1 files changed, 112 insertions, 119 deletions
diff --git a/README.md b/README.md
index ecc5286..1545052 100644
--- a/README.md
+++ b/README.md
@@ -63,7 +63,7 @@ The Restaurant Management System enhances the dining experience for customers an
| Component | Technology Used |
|-----------|----------------|
| Frontend | Next.js, Shadcn UI |
-| Backend | Node.js, Express.js, TypeScript |
+| Backend | Node.js, Express.js, JavaScript |
| Database | MongoDB (MongoDB Atlas) |
| Authentication | JWT, bcrypt.js |
| Real-Time Updates | Socket.io |
@@ -109,7 +109,7 @@ The Restaurant Management System enhances the dining experience for customers an
## Project Directory Structure
```
-restaurant-management-system/
+.
├── README.md
├── package.json
├── .gitignore
@@ -117,124 +117,117 @@ restaurant-management-system/
├── frontend/ # Next.js frontend
│ ├── .env.local # Frontend environment variables
│ ├── package.json # Frontend dependencies
-│ ├── tsconfig.json # TypeScript configuration
+│ ├── jsconfig.json # JavaScript configuration
│ ├── next.config.js # Next.js configuration
│ ├── public/ # Static assets
│ │ ├── images/
│ │ ├── fonts/
│ │ └── favicon.ico
-│ ├── app/ # Next.js App Router
-│ │ ├── layout.tsx # Root layout
-│ │ ├── page.tsx # Homepage
-│ │ ├── globals.css # Global CSS
-│ │ ├── (auth)/ # Authentication routes
-│ │ │ ├── login/
-│ │ │ └── register/
-│ │ ├── menu/ # Menu browsing routes
-│ │ ├── reservations/ # Reservation routes
-│ │ ├── orders/ # Order routes
-│ │ ├── feedback/ # Feedback routes
-│ │ ├── profile/ # User profile routes
-│ │ ├── admin/ # Admin dashboard routes
-│ │ │ ├── layout.tsx
-│ │ │ ├── page.tsx
-│ │ │ ├── users/
-│ │ │ ├── menu/
-│ │ │ ├── reservations/
-│ │ │ ├── orders/
-│ │ │ └── reports/
-│ │ └── staff/ # Staff dashboard routes
-│ │ ├── layout.tsx
-│ │ ├── page.tsx
-│ │ ├── orders/
-│ │ └── reservations/
-│ ├── components/ # Reusable components
-│ │ ├── ui/ # Shadcn UI components
-│ │ ├── layouts/ # Layout components
-│ │ ├── auth/ # Authentication components
-│ │ ├── menu/ # Menu-related components
-│ │ ├── orders/ # Order-related components
-│ │ ├── reservations/ # Reservation components
-│ │ ├── feedback/ # Feedback components
-│ │ ├── admin/ # Admin dashboard components
-│ │ └── staff/ # Staff dashboard components
-│ ├── lib/ # Utility functions
-│ │ ├── utils.ts
-│ │ ├── hooks/ # Custom hooks
-│ │ ├── api/ # API client functions
-│ │ └── validators/ # Form validators
-│ └── context/ # React context providers
-│ ├── auth-context.tsx
-│ ├── cart-context.tsx
-│ └── theme-context.tsx
+│ ├── src/ # Source code directory
+│ │ ├── app/ # Next.js App Router
+│ │ │ ├── layout.js # Root layout
+│ │ │ ├── page.js # Homepage
+│ │ │ ├── globals.css # Global CSS
+│ │ │ ├── (auth)/ # Authentication routes
+│ │ │ │ ├── login/
+│ │ │ │ └── register/
+│ │ │ ├── menu/ # Menu browsing routes
+│ │ │ ├── reservations/ # Reservation routes
+│ │ │ ├── orders/ # Order routes
+│ │ │ ├── feedback/ # Feedback routes
+│ │ │ ├── profile/ # User profile routes
+│ │ │ ├── admin/ # Admin dashboard routes
+│ │ │ │ ├── layout.js
+│ │ │ │ ├── page.js
+│ │ │ │ ├── users/
+│ │ │ │ ├── menu/
+│ │ │ │ ├── reservations/
+│ │ │ │ ├── orders/
+│ │ │ │ └── reports/
+│ │ │ └── staff/ # Staff dashboard routes
+│ │ │ ├── layout.js
+│ │ │ ├── page.js
+│ │ │ ├── orders/
+│ │ │ └── reservations/
+│ │ ├── components/ # Reusable components
+│ │ │ ├── ui/ # Shadcn UI components
+│ │ │ ├── layouts/ # Layout components
+│ │ │ ├── auth/ # Authentication components
+│ │ │ ├── menu/ # Menu-related components
+│ │ │ ├── orders/ # Order-related components
+│ │ │ ├── reservations/ # Reservation components
+│ │ │ ├── feedback/ # Feedback components
+│ │ │ ├── admin/ # Admin dashboard components
+│ │ │ └── staff/ # Staff dashboard components
+│ │ ├── lib/ # Utility functions
+│ │ │ ├── utils.js
+│ │ │ ├── hooks/ # Custom hooks
+│ │ │ ├── api/ # API client functions
+│ │ │ └── validators/ # Form validators
+│ │ └── context/ # React context providers
+│ │ ├── auth-context.js
+│ │ ├── cart-context.js
+│ │ └── theme-context.js
└── backend/ # Express.js backend
├── .env # Backend environment variables
├── package.json # Backend dependencies
- ├── tsconfig.json # TypeScript configuration
├── src/
- │ ├── index.ts # Entry point
+ │ ├── index.js # Entry point
│ ├── config/ # Configuration files
- │ │ ├── database.ts # Database configuration
- │ │ ├── env.ts # Environment variables
- │ │ └── logger.ts # Logging configuration
+ │ │ ├── database.js # Database configuration
+ │ │ ├── env.js # Environment variables
+ │ │ └── logger.js # Logging configuration
│ ├── models/ # MongoDB models
- │ │ ├── User.ts
- │ │ ├── MenuItem.ts
- │ │ ├── Category.ts
- │ │ ├── Table.ts
- │ │ ├── Reservation.ts
- │ │ ├── Order.ts
- │ │ ├── OrderItem.ts
- │ │ └── Feedback.ts
+ │ │ ├── User.js
+ │ │ ├── MenuItem.js
+ │ │ ├── Category.js
+ │ │ ├── Table.js
+ │ │ ├── Reservation.js
+ │ │ ├── Order.js
+ │ │ ├── OrderItem.js
+ │ │ └── Feedback.js
│ ├── routes/ # API routes
- │ │ ├── index.ts # Route aggregator
- │ │ ├── auth.routes.ts
- │ │ ├── users.routes.ts
- │ │ ├── menu.routes.ts
- │ │ ├── reservations.routes.ts
- │ │ ├── orders.routes.ts
- │ │ └── feedback.routes.ts
+ │ │ ├── index.js # Route aggregator
+ │ │ ├── auth.routes.js
+ │ │ ├── users.routes.js
+ │ │ ├── menu.routes.js
+ │ │ ├── reservations.routes.js
+ │ │ ├── orders.routes.js
+ │ │ └── feedback.routes.js
│ ├── controllers/ # Route controllers
- │ │ ├── auth.controller.ts
- │ │ ├── users.controller.ts
- │ │ ├── menu.controller.ts
- │ │ ├── reservations.controller.ts
- │ │ ├── orders.controller.ts
- │ │ └── feedback.controller.ts
+ │ │ ├── auth.controller.js
+ │ │ ├── users.controller.js
+ │ │ ├── menu.controller.js
+ │ │ ├── reservations.controller.js
+ │ │ ├── orders.controller.js
+ │ │ └── feedback.controller.js
│ ├── services/ # Business logic
- │ │ ├── auth.service.ts
- │ │ ├── users.service.ts
- │ │ ├── menu.service.ts
- │ │ ├── reservations.service.ts
- │ │ ├── orders.service.ts
- │ │ └── feedback.service.ts
+ │ │ ├── auth.service.js
+ │ │ ├── users.service.js
+ │ │ ├── menu.service.js
+ │ │ ├── reservations.service.js
+ │ │ ├── orders.service.js
+ │ │ └── feedback.service.js
│ ├── middleware/ # Express middleware
- │ │ ├── auth.middleware.ts
- │ │ ├── error.middleware.ts
- │ │ ├── validation.middleware.ts
- │ │ └── role.middleware.ts
+ │ │ ├── auth.middleware.js
+ │ │ ├── error.middleware.js
+ │ │ ├── validation.middleware.js
+ │ │ └── role.middleware.js
│ ├── utils/ # Utility functions
- │ │ ├── jwt.ts
- │ │ ├── password.ts
- │ │ └── validation.ts
- │ ├── socket/ # Socket.io implementation
- │ │ ├── index.ts
- │ │ └── handlers.ts
- │ └── types/ # TypeScript type definitions
- │ ├── express.d.ts # Express type extensions
- │ ├── user.types.ts
- │ ├── menu.types.ts
- │ ├── reservation.types.ts
- │ ├── order.types.ts
- │ └── feedback.types.ts
+ │ │ ├── jwt.js
+ │ │ ├── password.js
+ │ │ └── validation.js
+ │ └── socket/ # Socket.io implementation
+ │ ├── index.js
+ │ └── handlers.js
└── tests/ # Backend tests
├── unit/
- │ ├── auth.test.ts
- │ ├── users.test.ts
+ │ ├── auth.test.js
+ │ ├── users.test.js
│ └── ...
└── integration/
- ├── auth.test.ts
- ├── menu.test.ts
+ ├── auth.test.js
+ ├── menu.test.js
└── ...
```
@@ -242,42 +235,42 @@ restaurant-management-system/
### Initial Setup & Configuration
-- [ ] Initialize Next.js frontend project with TypeScript
-- [ ] Set up Shadcn UI components and theming
-- [ ] Initialize Express.js backend with TypeScript
-- [ ] Configure MongoDB connection and schemas
-- [ ] Set up project repository structure
-- [ ] Configure ESLint and Prettier
-- [ ] Set up environment variables and configuration
+- [x] Initialize Next.js frontend project with JavaScript
+- [x] Set up Shadcn UI components and theming
+- [x] Initialize Express.js backend with JavaScript
+- [x] Configure MongoDB connection and schemas
+- [x] Set up project repository structure
+- [x] Configure ESLint and Prettier
+- [x] Set up environment variables and configuration
### Backend Tasks
#### User Management
-- [ ] Create user model with role-based permissions
-- [ ] Implement authentication middleware using JWT
-- [ ] Create API endpoints for registration and login
-- [ ] Implement password hashing with bcrypt
-- [ ] Set up role-based access controls
+- [x] Create user model with role-based permissions
+- [x] Implement authentication middleware using JWT
+- [x] Create API endpoints for registration and login
+- [x] Implement password hashing with bcrypt
+- [x] Set up role-based access controls
#### Menu Management
-- [ ] Create menu item model with categories
+- [x] Create menu item model with categories
- [ ] Develop CRUD API endpoints for menu items
- [ ] Implement image upload for menu items
-- [ ] Create menu categories functionality
+- [x] Create menu categories functionality
- [ ] Implement search and filtering capabilities
#### Table Reservation System
-- [ ] Create table and reservation models
+- [x] Create table and reservation models
- [ ] Develop availability checking algorithm
- [ ] Implement reservation API endpoints
- [ ] Create scheduler for reservation management
- [ ] Implement notifications for reservations
#### Order Management
-- [ ] Create order and order items models
-- [ ] Implement order status tracking
+- [x] Create order and order items models
+- [x] Implement order status tracking
- [ ] Develop API endpoints for orders
-- [ ] Implement real-time order updates with Socket.io
+- [x] Implement real-time order updates with Socket.io
- [ ] Create order history functionality
#### Billing System
@@ -286,7 +279,7 @@ restaurant-management-system/
- [ ] Develop offline payment recording system
#### Feedback System
-- [ ] Create feedback and ratings models
+- [x] Create feedback and ratings models
- [ ] Implement API endpoints for feedback
- [ ] Develop analytics for feedback data