How samiul821/hostelbite-client works
HostelBite is a client-side meal-booking application for hostel students and administrators. Users browse and filter meals, inspect details, book by date, and access membership checkout; authenticated users can manage requests, reviews, and payment history. Admins manage meals, reviews, users, and serving/upcoming meals. The router maps these workflows and applies private and role-based guards. The sampled code confirms the meal/review request patterns and secure Axios behavior; other feature wiring is represented only where the README or route map supports it.
Main entry points: router.jsx Route map · AdminRoute.jsx Role access · UserRoute.jsx User access · main.jsx Application entry
Components 34
App and routing
- Application entry
src/main.jsx - Route map
src/router/router.jsx - Public layout
src/Layout/RootLayout.jsx - Dashboard layout
src/Layout/DashboardLayout.jsx - Authentication layout
src/Layout/AuthLayout.jsx
Identity and preferences
- Authentication state
src/context/Auth/AuthProvider.jsx - Auth context
src/context/Auth/AuthContext.jsx - Firebase Auth
- Theme state
src/context/ThemeContext.jsx - Login
src/Pages/Auth/Login/Login.jsx - Registration
src/Pages/Auth/SignUp/SignUp.jsx - Private access
src/routes/PrivateRoute.jsx - Role access
src/routes/AdminRoute.jsx - User access
src/routes/UserRoute.jsx
Meal discovery
- Featured meals
src/Pages/Home/Home/Home.jsx - Meal search and filters
src/Pages/Meals/Meals.jsx - Meal listing data
src/Hooks/useMeals.jsx - Meal details
src/Pages/MealDetails/MealDetails.jsx - Submit review
src/Pages/MealDetails/ReviewForm.jsx - Meal reviews
src/Pages/MealDetails/ReviewList.jsx - Upcoming meals
src/Pages/UpcomingMeals/UpcommingMeals.jsx
Bookings and management
- Membership checkout
src/Pages/Checkout/Checkout.jsx - User dashboard
src/Pages/Dashboard/DashboardHome/UserHome/UserHome.jsx - Meal requests
src/Pages/Dashboard/ReqMeals/RequestedMeals .jsx - Review management
src/Pages/Dashboard/MyReviews/MyReviews.jsx - Payment history
src/Pages/Dashboard/PayHistory/PayHistory.jsx - Meal administration
src/Pages/Dashboard/AllMeals/AllMeals.jsx - Add meal
src/Pages/Dashboard/AddMeal/AddMeal.jsx - User administration
src/Pages/Dashboard/ManageUsers/ManageUsers.jsx - Review administration
src/Pages/Dashboard/AllReviews/AllReviews.jsx - Serve requests
src/Pages/Dashboard/ServeMeals/ServeMeals.jsx - Upcoming meal admin
src/Pages/Dashboard/UpcomingMeals/UpcomingMeals.jsx
Other components
- Student or admin
- HostelBite API
Connections 38
- Student or admin → Application entry: opens app
- Application entry → Route map: mounts routes
- Application entry → Authentication state: provides auth
- Application entry → Theme state: provides theme
- Route map → Public layout: routes public
- Route map → Authentication layout: routes auth
- Route map → Private access: guards private
- Private access → Dashboard layout: allows dashboard
- Private access → Meal details: allows details
- Private access → Membership checkout: allows checkout
- Route map → Featured meals: dispatches home
- Route map → Meal search and filters: dispatches browse
- Route map → Upcoming meals: dispatches upcoming
- Route map → Login: dispatches login
- Route map → Registration: dispatches signup
- Route map → Role access: guards admin routes
- Route map → User access: guards user routes
- Role access → Meal administration: allows admin
- Role access → Add meal: allows admin
- Role access → User administration: allows admin
- Role access → Review administration: allows admin
- Role access → Serve requests: allows admin
- Role access → Upcoming meal admin: allows admin
- User access → Meal requests: allows user
- User access → Review management: allows user
- User access → Payment history: allows user
- User access → User dashboard: allows user
- Authentication state → Auth context: provides context
- Authentication state → Firebase Auth: authenticates
- Login → Auth context: uses auth state
- Registration → Auth context: uses auth state
- Meal search and filters → Meal listing data: loads meals
- Meal listing data → HostelBite API: requests meal pages
- Submit review → HostelBite API: posts review
- Meal reviews → HostelBite API: loads reviews
- Review management → HostelBite API: manages reviews
- Meal administration → HostelBite API: manages meals
- Review administration → HostelBite API: manages reviews