Analysis updated 2026-05-18
Run a demo online food ordering site with restaurants, menus, and a shopping cart.
Track order status live as an admin updates it, without refreshing the page.
Manage discount codes with percentage or fixed amounts, minimum order values, and expiry dates.
Export order history to CSV or Excel for reporting.
| tranphu100826-netizen/b-i-bc-wed-t-n | aaronz345/athena-personal-academic-page | alana72212/akamai-vm | |
|---|---|---|---|
| Stars | 20 | 20 | 20 |
| Language | JavaScript | JavaScript | JavaScript |
| Setup difficulty | easy | moderate | hard |
| Complexity | 3/5 | 2/5 | 5/5 |
| Audience | developer | researcher | researcher |
Figures from each repo's GitHub metadata at analysis time.
Docker Compose starts MongoDB, backend, and frontend together with one command.
NgonNgay is a full-stack web application for ordering food online, built with the MERN stack (MongoDB, Express, React, and Node.js). It lets people register and log in, browse restaurants and dishes, search and filter menu items, add food to a cart, and place orders with discount codes applied at checkout. Customers can track their order status in real time using Socket.IO, which pushes updates the moment an order changes status instead of requiring a page refresh, with a 20 second automatic refresh as a backup if the connection drops. On the administration side, staff can manage users, restaurants, menu items, orders, and coupon codes from a dedicated admin panel. The panel includes sales statistics, a list of best selling dishes, and the ability to export order lists to CSV or Excel files. Admins also receive instant notifications when a new order comes in, without needing to refresh the page. The project includes several built in safety and reliability features: input validation, protection against NoSQL injection, rate limiting to prevent spam and brute force attempts, centralized error handling, and a health check endpoint that reports server and database status. The frontend has an error boundary so unexpected crashes do not leave users with a blank white screen, and the backend logs errors to file using Winston. Automated tests are included using Jest and Supertest, covering authentication, restaurant and dish management, order handling, coupon codes, and access control between different types of users. These tests use an in memory MongoDB instance so they do not touch real data. The easiest way to run the project is with Docker: copying the example environment file and running docker compose up starts MongoDB, the Node.js backend, and the React frontend together with one command, avoiding manual installation of Node.js or MongoDB. Sample data, including an admin account and test discount codes, can be generated with a single seed command. The project can also be run manually without Docker by installing dependencies for the server and client separately and connecting to a local or cloud MongoDB database. Full API documentation and a ready to use Postman collection are provided for testing individual endpoints.
A full-stack MERN app for ordering food online, with real-time order tracking, coupon codes, and an admin dashboard.
Mainly JavaScript. The stack also includes React, Node.js, Express.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.