How rounit20/eatbit works
EatBit is a restaurant-discovery and food-ordering web app with customer, outlet-owner, and administrator experiences. The visible customer journey routes users from outlet discovery and menu viewing into a cart, checkout, and order history; authenticated routes are guarded by PrivateRoute. Firebase provides authentication and Firestore-backed state, including carts, outlets, and orders. The README provides no feature detail, so several workflow links rely on routing evidence or are omitted where implementation was not sampled.
Main entry points: App.jsx App Router · Signup.jsx Customer Signup · firebase.js Firebase Client · OutletDetails.jsx Outlet Menu
Components 25
Application
- App Router
EatBit/src/App.jsx - Route Guard
EatBit/src/components/PrivateRoute.jsx - Navigation
EatBit/src/components/Navbar.jsx
Customer Ordering
- Landing Page
EatBit/src/pages/LandingPage.jsx - Outlet List
EatBit/src/pages/Outlets.jsx - Outlet Menu
EatBit/src/pages/OutletDetails.jsx - Cart State
EatBit/src/Context/CartContext.jsx - Cart Page
EatBit/src/pages/Cart.jsx - Checkout
EatBit/src/pages/Checkout.jsx - Order Placement
EatBit/src/pages/OrdersPage.jsx - Order History
EatBit/src/pages/MyOrders.jsx - User Profile
EatBit/src/pages/UserData.jsx - Customer Signup
EatBit/src/components/Signup.jsx - Customer Login
EatBit/src/components/Login.jsx
Outlet Operations
- Owner Signup
EatBit/src/pages/OutletSignup.jsx - Owner Login
EatBit/src/pages/OutletLogin.jsx - Owner Dashboard
EatBit/src/pages/OutletDashboard.jsx
Administration
- Admin Access
EatBit/src/pages/AdminAuth.jsx - Admin Dashboard
EatBit/src/pages/AdminDashboard.jsx - Protected Outlet Add
EatBit/src/pages/ProtectedAddOutlet.jsx - Outlet Editor
EatBit/src/pages/EditOutlet.jsx
Firebase Services
- Firebase Client
EatBit/src/firebase.js - Firebase Auth
- Cloud Firestore
Other components
- Customer
Connections 29
- Customer → App Router: uses
- App Router → Landing Page: routes
EatBit/src/App.jsx - App Router → Outlet List: routes
EatBit/src/App.jsx - App Router → Outlet Menu: routes
EatBit/src/App.jsx - App Router → Cart Page: routes
EatBit/src/App.jsx - App Router → Checkout: routes
EatBit/src/App.jsx - App Router → Order Placement: routes
EatBit/src/App.jsx - App Router → Order History: routes
EatBit/src/App.jsx - App Router → User Profile: routes
EatBit/src/App.jsx - App Router → Route Guard: guards
EatBit/src/App.jsx - App Router → Navigation: renders
EatBit/src/App.jsx - App Router → Cart State: provides
EatBit/src/App.jsx - App Router → Admin Access: routes
EatBit/src/App.jsx - App Router → Admin Dashboard: routes
EatBit/src/App.jsx - App Router → Protected Outlet Add: routes
EatBit/src/App.jsx - App Router → Outlet Editor: routes
EatBit/src/App.jsx - App Router → Owner Signup: routes
EatBit/src/App.jsx - App Router → Owner Login: routes
EatBit/src/App.jsx - App Router → Owner Dashboard: routes
EatBit/src/App.jsx - Customer Signup → Firebase Auth: creates account
EatBit/src/components/Signup.jsx - Customer Signup → Cloud Firestore: stores profile
EatBit/src/components/Signup.jsx - Cart State → Cloud Firestore: loads and saves
EatBit/src/Context/CartContext.jsx - Admin Access → Cloud Firestore: checks sessions
EatBit/src/pages/AdminAuth.jsx - Admin Dashboard → Cloud Firestore: manages outlets
EatBit/src/pages/AdminDashboard.jsx - Owner Dashboard → Cloud Firestore: reads and updates
EatBit/src/pages/OutletDashboard.jsx - Outlet Menu → Cloud Firestore: loads outlet
EatBit/src/pages/OutletDetails.jsx - Order History → Cloud Firestore: loads orders
EatBit/src/pages/MyOrders.jsx - Firebase Client → Firebase Auth: initializes
EatBit/src/firebase.js - Firebase Client → Cloud Firestore: initializes
EatBit/src/firebase.js