A full‑stack Meal Manager web application designed to manage mess/hostel meals efficiently. The system supports admin and user roles with role‑based access control. Admins can manage borders, meals, and users, while users can view their monthly meal details.
Displays a table of all borders with the following information:
- Border Name
- Deposit
- Bill
- Total Meals
- Due (Balance)
Also includes:
- Login
- Register
- Secure login & registration system
- Role‑based access (Admin & User)
- Private routes for protected pages
- Add new border
- Update border information
- Delete border
- Update daily meal count
- View monthly meals of all borders
- Filter meals by Mess Name
- Search borders by name or email
- View all users
- Make a user Admin
- Delete user
- View monthly meal report (only logged‑in users)
- See personal meal count, bill, and due amount
⚠️ Users cannot access admin features
- Search borders by name or email
- Filter monthly meals by mess name
- Highlight matched search text for better UX
- React.js
- Tailwind CSS
- React Router
- Axios
- Node.js
- Express.js
- MongoDB
- JWT Authentication
Client-side project structure based on the current codebase:
meal-manager-clientSide/
├── src/
│ ├── AuthProvider/ # Authentication context & provider
│ ├── components/ # Reusable UI components
│ │ ├── AllUsers/ # User-related components
│ │ ├── Footer/
│ │ ├── Hooks/ # Custom React hooks
│ │ ├── Login/
│ │ ├── Navbar/
│ │ ├── Register/
│ │ └── Firebase/ # Firebase configuration
│ │
│ ├── pages/
│ │ ├── Dashboard/
│ │ │ ├── AddNewBorder/ # Admin: add new border
│ │ │ ├── ManageBorder/ # Admin: update & delete border
│ │ │ ├── ManageUsers/ # Admin: manage users & roles
│ │ │ ├── MealCalculation/ # Admin: meal count update
│ │ │ ├── MonthlyMeals/ # Monthly meals (admin & user)
│ │ │ └── MyMeals/ # User-only monthly meals
│ │ │
│ │ ├── Home/ # Home page
│ │ └── Root/ # Root layout
│ │
│ ├── Route/ # Application routing
│ ├── App.css
│ └── main.jsx
│
├── public/
├── package.json
└── README.md
git clone https://github.com/Nadimmo/Meal-Manager-ClientSide.git
cd meal-managercd client
npm install
npm run devcd server
npm install
npm run startCreate a .env file in the server directory:
PORT=5000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
| Feature | Admin | User |
|---|---|---|
| View Home Page | ✅ | ✅ |
| View Monthly Meals | ✅ | ✅ |
| Add Border | ✅ | ❌ |
| Update/Delete Border | ✅ | ❌ |
| Update Meal Count | ✅ | ❌ |
| Manage Users | ✅ | ❌ |
- Export monthly reports (PDF / Excel)
- Payment integration
- Notification system
- Responsive dashboard charts
Nadim Mostofa Junior MERN Stack Developer 🌐 Portfolio: https://nadim-mostofa.vercel.app
If you like this project, please give it a ⭐ on GitHub!