A full-stack mess (shared-meal) management platform for students living in Bangladeshi messes and dorms. Track meals, bazar (grocery) spending, deposits and fixed costs. Pro Mess calculates the meal rate and each member's balance automatically.
| Module | What it does |
|---|---|
| π Dashboard | Mess overview, personal overview, month progress, member balances, highlights and recent activity |
| π½οΈ Meals | Daily meal counts per member |
| π Bazar | Grocery spending entries plus a bazar rotation schedule showing whose turn it is |
| π° Deposits | Monthly deposits per member |
| π Fixed costs | Rent, gas, electricity, internet and other costs, with a breakdown by category |
| π₯ Members | Admin-managed members, with a forced password change on first login |
| π Activity log | An audit trail of every change |
meal rate = total bazar cost / total meals
meal cost = member's meals Γ meal rate
net balance = deposits β meal cost
- Supabase Auth with two roles:
adminandmember - Row Level Security on every table. Everyone in the mess can see the data, members can manage their own meals, and admins manage everything else.
- Server actions handle mutations, and the service-role key is only ever used on the server.
- Frontend: Next.js 16 (App Router), React 19, Tailwind CSS 4, lucide-react
- Backend: Supabase (PostgreSQL, Auth, RLS) and Next.js Server Actions
- Language: TypeScript
src/
βββ app/ # routes: dashboard, meals, bazar, deposits, fixed-costs, members, activityβ¦
βββ components/ # layout shell + reusable UI (glass cards, modals, stat cards)
βββ contexts/ # auth context
βββ lib/ # supabase clients, audit logger, types, utils
supabase/
βββ schema.sql # tables, enums, RLS policies
βββ seed.sql
git clone https://github.com/Muktaditbf/MESS-PRO.git
cd MESS-PRO
npm install- Create a project at supabase.com, then run
supabase/schema.sql(and optionallyseed.sql) in the SQL editor. - Create a
.env.localfile:NEXT_PUBLIC_SUPABASE_URL=your-project-url NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
- Start the dev server:
Then open http://localhost:3000.
npm run dev