A simple Zomato/Swiggy-like restaurant listing page with live search, filters, sorting and pagination. Full-stack example using React + TypeScript frontend and Node.js + TypeScript backend with MongoDB.
- Node.js 18+
- npm or yarn
- MongoDB (local) or MongoDB Atlas connection string
cd backend- Copy
.env.exampleto.envand setMONGO_URIandPORTif desired. Default:mongodb://127.0.0.1:27017/restaurant-app - Install:
npm install - Seed sample data:
npm run seed - Start dev server:
npm run dev- Server runs on
http://localhost:4000by default
- Server runs on
- API:
GET /api/restaurants?q=&page=1&limit=10&cuisine=Indian,Italian&minRating=4&sort=rating
cd frontend- Install:
npm install - Create
.env: