diff options
-rw-r--r-- | README.md | 132 |
1 files changed, 132 insertions, 0 deletions
@@ -106,6 +106,138 @@ The Restaurant Management System enhances the dining experience for customers an - Day 9 (May 6): Conduct testing, fix bugs, optimize performance - Day 10 (May 7): Deploy to production, create documentation, project delivery +## Project Directory Structure + +``` +restaurant-management-system/ +├── README.md +├── package.json +├── .gitignore +├── .env.example +├── frontend/ # Next.js frontend +│ ├── .env.local # Frontend environment variables +│ ├── package.json # Frontend dependencies +│ ├── tsconfig.json # TypeScript 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 +└── backend/ # Express.js backend + ├── .env # Backend environment variables + ├── package.json # Backend dependencies + ├── tsconfig.json # TypeScript configuration + ├── src/ + │ ├── index.ts # Entry point + │ ├── config/ # Configuration files + │ │ ├── database.ts # Database configuration + │ │ ├── env.ts # Environment variables + │ │ └── logger.ts # Logging configuration + │ ├── models/ # MongoDB models + │ │ ├── User.ts + │ │ ├── MenuItem.ts + │ │ ├── Category.ts + │ │ ├── Table.ts + │ │ ├── Reservation.ts + │ │ ├── Order.ts + │ │ ├── OrderItem.ts + │ │ └── Feedback.ts + │ ├── 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 + │ ├── controllers/ # Route controllers + │ │ ├── auth.controller.ts + │ │ ├── users.controller.ts + │ │ ├── menu.controller.ts + │ │ ├── reservations.controller.ts + │ │ ├── orders.controller.ts + │ │ └── feedback.controller.ts + │ ├── services/ # Business logic + │ │ ├── auth.service.ts + │ │ ├── users.service.ts + │ │ ├── menu.service.ts + │ │ ├── reservations.service.ts + │ │ ├── orders.service.ts + │ │ └── feedback.service.ts + │ ├── middleware/ # Express middleware + │ │ ├── auth.middleware.ts + │ │ ├── error.middleware.ts + │ │ ├── validation.middleware.ts + │ │ └── role.middleware.ts + │ ├── 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 + └── tests/ # Backend tests + ├── unit/ + │ ├── auth.test.ts + │ ├── users.test.ts + │ └── ... + └── integration/ + ├── auth.test.ts + ├── menu.test.ts + └── ... +``` + ## Technical Todo List ### Initial Setup & Configuration |