A full-stack web application to digitize and streamline hostel mess operations — from attendance tracking to billing and payments.
Mess Management System is a role-based web app built for hostel administrators and students. Admins can manage student records, track daily attendance, handle leave requests, generate bills, and post notices — all from a single dashboard. Students get a personalized portal to view their attendance, bills, payment history, and submit leave requests.
Admin Panel
- 📊 Dashboard with real-time stats and charts
- 👨🎓 Student management (add, view, manage profiles)
- ✅ Daily attendance tracking with auto-attendance support
- 📋 Attendance request approvals
- 🏖️ Leave management and approvals
- 🧾 Billing generation with auto-billing
- 💳 Payment tracking and receipt management
- 🍱 Mess menu / items management
- 📢 Notice board for announcements
Student Portal
- 🏠 Personal dashboard with attendance summary
- 📅 View and track own attendance
- 💰 View bills and payment history
- 🧾 Download payment receipts (PDF)
- 📝 Submit leave requests
- 👤 Profile management
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Vite |
| UI Components | shadcn/ui, Radix UI, Tailwind CSS |
| Backend / DB | Firebase Firestore |
| Auth | Firebase Authentication |
| Forms | React Hook Form + Zod |
| Charts | Recharts |
| PDF Export | jsPDF |
| Routing | React Router DOM v6 |
| State / Fetching | TanStack React Query |
| Deployment | Firebase Hosting |
- Node.js
>= 18.x - npm or bun
- A Firebase project
git clone <YOUR_GIT_URL>
cd mess-managementnpm install
# or
bun installCreate a .env file in the root directory:
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.firebasestorage.app
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
⚠️ Never commit your.envfile. It is already listed in.gitignore.
npm run devApp will be available at http://localhost:5173
npm run build- Admin — Log in via
/admin-loginto access the full admin dashboard. Manage students, attendance, billing, and notices. - Student — Log in via
/student-loginto view personal attendance, bills, submit leave requests, and download receipts.
mess-management/
├── src/
│ ├── components/ # Shared UI components (dialogs, panels)
│ │ └── ui/ # shadcn/ui base components
│ ├── hooks/ # Custom React hooks (auth, billing, attendance, etc.)
│ ├── lib/ # Firebase config and utility functions
│ ├── pages/
│ │ ├── admin/ # Admin-only pages (dashboard, billing, students...)
│ │ └── student/ # Student-only pages (dashboard, bills, profile...)
│ ├── App.tsx # Root component with routing
│ └── main.tsx # App entry point
├── functions/ # Firebase Cloud Functions
├── public/ # Static assets
├── firebase.json # Firebase hosting & functions config
└── .env # Environment variables (not committed)
Contributions are welcome!
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m "feat: add your feature" - Push to the branch:
git push origin feature/your-feature - Open a Pull Request
Please follow the existing code style and keep PRs focused and minimal.
- shadcn/ui — Beautiful, accessible component library
- Firebase — Backend, auth, and hosting
- Lovable — AI-powered full-stack development platform
- Radix UI — Headless UI primitives
- Recharts — Composable charting library
This project is licensed under the MIT License.