How samiul821/hostelbite-server works
HostelBite Server is a REST backend for hostel meal management. A user or administrator calls the Express API; authenticated routes verify Firebase tokens and role-protected routes check administrator access. The API supports meal discovery, requests and serving, reviews, packages, user roles, dashboards, and payment intents. Route handlers query or update MongoDB collections, while payment-intent creation calls Stripe. The README documents Firebase authentication and analytics; sampled route excerpts show some, but not all, implementations, so uncertain internal wiring is omitted.
Main entry points: index.js Express REST API
Components 21
API and access
- Express REST API
index.js - Token verification
index.js - Admin authorization
index.js
Meal operations
- Meal catalog
index.js - Meals collection
index.js - Meal requests
index.js - Requests collection
index.js - Meal serving
index.js - Upcoming meals
index.js - Upcoming collection
index.js - Meal reviews
index.js - Reviews collection
index.js
Users and insights
- User management
index.js - Users collection
index.js - Dashboard analytics
index.js
Packages and payments
- Packages and plans
index.js - Packages collection
index.js - Payment intents
index.js
External services
- Firebase Auth
- Stripe
Other components
- Web application
Connections 24
- Web application → Express REST API: calls routes
- Express REST API → Token verification: verifies tokens
- Token verification → Firebase Auth: verifies identity
- Express REST API → Admin authorization: checks admin
- Express REST API → Meal catalog: handles meal routes
- Meal catalog → Meals collection: reads and writes
- Express REST API → Meal requests: handles requests
- Meal requests → Requests collection: reads and writes
- Express REST API → Meal serving: handles serving
- Meal serving → Requests collection: updates status
- Express REST API → Upcoming meals: handles upcoming routes
- Upcoming meals → Upcoming collection: reads and writes
- Express REST API → Meal reviews: handles review routes
- Meal reviews → Reviews collection: reads and writes
- Meal reviews → Meals collection: looks up meals
- Express REST API → User management: handles user routes
- User management → Users collection: reads and writes
- Express REST API → Dashboard analytics: handles summaries
- Dashboard analytics → Users collection: reads user data
- Dashboard analytics → Requests collection: counts requests
- Express REST API → Packages and plans: handles package routes
- Packages and plans → Packages collection: reads packages
- Express REST API → Payment intents: handles payment route
- Payment intents → Stripe: creates intent