How vishwanatha01/gofoode works
GoFoode is a multi-role marketplace for restaurant food delivery and adjacent services: groceries, reservations, local pickup/drop, events, offers, and membership. Customers discover services, build a cart or request, check out or book, then follow order/request status; restaurant owners, delivery partners, and administrators handle operations. The React application and Express API are the main product layers, with MongoDB models providing persistence. The API is a large routes module, so several domain nodes share its exact path; unsampled feature links are documented rather than inferred from module names.
Main entry points: models.js Marketplace records · App.jsx Marketplace UI · routes.js API router · middleware.js JWT access control
Components 21
Customer experience
- Marketplace UI
client/src/App.jsx - Session and location
client/src/AuthContext.jsx - API client
client/src/api.js - Food discovery and cart
server/routes.js - Food checkout
server/routes.js - Grocery Mart
server/routes.js - Marketplace services
server/routes.js - Customer accounts
server/routes.js
Partner operations
- Restaurant operations
server/routes.js - Delivery and Genie
server/routes.js - Admin operations
server/routes.js
API and access
- HTTP application
server/app.js - API router
server/routes.js - JWT access control
server/middleware.js - Runtime configuration
server/config.js
Persistence and realtime
- Marketplace records
server/models.js - Socket.IO events
server/server.js - Grocery catalog data
server/groceryProducts.js
Other components
- Customer
- Maps provider
- Razorpay
Connections 23
- Customer → Marketplace UI: uses
README.md - Marketplace UI → Session and location: reads session
client/src/main.jsx - Session and location → API client: calls
client/src/AuthContext.jsx - Marketplace UI → API client: uses
client/src/App.jsx - HTTP application → API router: mounts
server/app.js - HTTP application → Runtime configuration: configures
server/app.js - API router → JWT access control: uses
server/routes.js - API router → Marketplace records: reads and writes
server/routes.js - JWT access control → Marketplace records: loads user
server/middleware.js - JWT access control → Runtime configuration: verifies tokens
server/middleware.js - Socket.IO events → HTTP application: serves over HTTP
server/server.js - Socket.IO events → Marketplace records: loads socket user
server/server.js - Food discovery and cart → Marketplace records: reads catalog
server/routes.js - Food checkout → Marketplace records: creates orders
server/routes.js - Grocery Mart → Marketplace records: stores grocery orders
README.md - Marketplace services → Marketplace records: stores service records
README.md - Customer accounts → Marketplace records: stores account data
README.md - Restaurant operations → Marketplace records: updates restaurant data
README.md - Delivery and Genie → Marketplace records: updates delivery data
README.md - Admin operations → Marketplace records: manages records
README.md - Grocery catalog data → Grocery Mart: provides products
README.md - Marketplace UI → Maps provider: embeds maps
client/src/App.jsx - Food checkout → Razorpay: optional payment
README.md