TrustBite is a full-stack platform designed to help students discover, evaluate, and trust local mess (dining) services. It combines crowdsourced reviews with AI-powered recommendations and official FSSAI verification data to provide a "Trust Score" for every listing.
- Hyperlocal Search: Find messes near your college or hostel with advanced filtering.
- Trust Scores: Evaluate messes using our proprietary weighted algorithm (Rating + Hygiene + Volume + Verification).
- AI Recommendations: Personalized mess suggestions based on your taste and budget.
- Favourites & Reviews: Save your top picks and share verified dining experiences.
- Listing Management: Manage menus, pricing, and profile details in real-time.
- Performance Analytics: View student engagement and review trends (Admin/Owner view).
- Platform Oversight: Manage all users, messes, and verification states.
- Global Statistics: Monitor platform health and total engagement metrics.
| Component | Technology |
|---|---|
| Frontend | React 19, Vite, Tailwind CSS, Framer Motion, Zustand |
| Backend | FastAPI (Python 3.11+), SQLAlchemy, Pydantic |
| Database | PostgreSQL (Production) / SQLite (Development) |
| AI/ML | Scikit-learn, NumPy (Content-based Filtering) |
| Auth | OAuth2 + JWT (Stateless Authentication) |
graph TD
User((User/Browser))
subgraph "Frontend (React + Vite)"
UI[UI Components]
State[Zustand Store]
Axios[Axios Interceptors]
end
subgraph "Backend (FastAPI)"
Router[API Routers]
Service[Business Logic/Services]
AI[AI Engine]
DB_Layer[SQLAlchemy ORM]
end
Database[(PostgreSQL)]
User <--> UI
UI <--> State
State <--> Axios
Axios <--> Router
Router <--> Service
Service <--> AI
Service <--> DB_Layer
DB_Layer <--> Database
- FastAPI: Chosen for its high performance, native async support, and automatic OpenAPI (Swagger) generation.
- PostgreSQL: Provides robust relational integrity and JSONB support for future scalability.
- Zustand: Lightweight state management for handling auth and global loading states without boilerplate.
- Framer Motion: Enables premium, high-fidelity micro-interactions for a production-grade feel.
TrustBite/
├── trustbite-frontend/ # React application
│ ├── src/
│ │ ├── components/ # UI, Sections, and Layouts
│ │ ├── services/ # API abstraction layer
│ │ ├── store/ # Zustand global state
│ │ └── pages/ # View components
├── trustbite-backend/ # FastAPI application
│ ├── app/
│ │ ├── core/ # Security & Configuration
│ │ ├── models/ # SQLAlchemy Schemas
│ │ ├── routers/ # API Endpoints
│ │ └── services/ # Core Logic & AI Engine
├── screenshots/ # UI Preview assets
├── DEMO_FLOW.md # Structured guide for presentations
├── TEST_CREDENTIALS.md # Quick-access test accounts
└── .gitignore # Repository safety configuration
cd trustbite-backendpython -m venv venvsource venv/bin/activate(orvenv\Scripts\activateon Windows)pip install -r requirements.txt- Create
.envfrom.env.example uvicorn app.main:app --reload
cd trustbite-frontendnpm install- Create
.envfrom.env.example npm run dev
| Role | Password | |
|---|---|---|
| Admin | admin@trustbite.com |
Admin@123 |
| Student | aryan@student.com |
Student@123 |
| Owner | ramesh@owner.com |
Owner@123 |
DATABASE_URL: Connection string for PostgreSQL/SQLite.SECRET_KEY: JWT signing key.ALGORITHM: JWT algorithm (Default: HS256).
VITE_API_URL: Backend API endpoint (Default:http://localhost:8000/api).
This project is developed for educational purposes as part of the Final Year Engineering Project.