Welcome to the MealMate Management System, a comprehensive full-stack application engineered to streamline meal planning, booking, attendance, and feedback tracking. Whether it is for a hostel mess, corporate cafeteria, or event catering, this platform guarantees a premium, hassle-free administrative and user experience.
Designed with a sleek, minimalist UI, the project leverages state-of-the-art serverless database architecture (Neon DB) and robust ORM features via Prisma.
- Intuitive Dashboard: Get a bird's-eye view of total meal bookings and attendance trends powered by robust visual charts (
recharts). - Meal Scheduling: Easily create and manage Breakfast, Lunch, and Dinner schedules seamlessly.
- Inventory/ERP Logic: Calculate total ingredient requirements per user (e.g., grams per pax) to drastically reduce food waste.
- Attendance Tracking: Monitor check-ins (
hasEaten) to see who claimed their meal in real-time.
- Effortless Meal Booking: View upcoming meals and book slots easily through a gorgeous interactive dashboard.
- Secure Authentication: Secure sign-up, login, and session persistence handled out-of-the-box by NextAuth and
bcryptjs. - Food Feedback: Rate meals (1-5 stars) and optionally provide feedback for continuous culinary improvement.
- Framework: Next.js 16 (App Router)
- Frontend: React 19, Tailwind CSS 4, Lucide React (Icons), Recharts (Data Visualization)
- Backend/API: Next.js Server Components and Route Handlers
- Database: PostgreSQL on Neon Serverless DB
- ORM: Prisma 7.2 (w/
@prisma/adapter-neonfor Edge / Worker environments) - Authentication: NextAuth.js (v4) with JWT-based session strategies
The application relies on a closely coupled relational schema designed for high operational throughput:
User- Handles credential storage and role-based policies (ADMIN vs USE).Meal- Core entity cataloging standard meal runs (Breakfast/Lunch/Dinner) with scheduled dates.Attendance- Junction mapping betweenUserandMealserving as an event ticket validator.Feedback- Collects post-meal ratings and user commentary.IngredientRequirement- Stores underlying recipe metric mappings for ERP-level forecasting.
Follow these instructions to get the project up and running locally.
git clone https://github.com/your-username/neon-prisma.git
cd neon-prismaEnsure you have Node.js 18+ installed on your machine.
npm install
# or
yarn installCreate a .env file at the root of the project and add your database configuration and NextAuth secrets:
# Neon Database Connection String
DATABASE_URL="postgresql://<user>:<password>@<neon-host-url>/<dbname>?sslmode=require"
# NextAuth Config
NEXTAUTH_SECRET="your_ultra_secure_super_secret"
NEXTAUTH_URL="http://localhost:3000"Run migrations to integrate your schema into the database and build the Prisma client.
npx prisma generate
npx prisma db pushnpm run dev
# or
yarn devThe application will be running at http://localhost:3000.
The interface is driven by highly responsive styling mapped closely to Tailwind CSS v4 and augmented with customized class aggregators (clsx, tailwind-merge). The design principles embrace wide paddings, soft dropshadows (ui/card layouts), clear typography, and subtle interactive animations to manifest an overarching Modern & Sleek identity.
This project is licensed under the MIT License - see the LICENSE file for details.