{"id":49554950,"url":"https://github.com/rishabhkheria/vingo","last_synced_at":"2026-05-03T01:54:21.160Z","repository":{"id":318565741,"uuid":"1071791974","full_name":"rishabhkheria/vingo","owner":"rishabhkheria","description":"Vingo: A complete food delivery solution using Node.js and React, enabling users to order food, shops to manage menus, and agents to handle deliveries.","archived":false,"fork":false,"pushed_at":"2025-10-07T22:47:16.000Z","size":8563,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T01:53:37.449Z","etag":null,"topics":["authentication","cloudinary","express","food-delivery","food-ordering-app","fullstack","javascript","jwt","mern-stack","mongodb","nodejs","react","rest-api","tailwindcss","web-application"],"latest_commit_sha":null,"homepage":"https://vingo-gray.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rishabhkheria.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-07T20:20:52.000Z","updated_at":"2026-03-16T11:13:17.000Z","dependencies_parsed_at":"2025-10-08T00:25:41.316Z","dependency_job_id":null,"html_url":"https://github.com/rishabhkheria/vingo","commit_stats":null,"previous_names":["rishabhkheria/vingo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rishabhkheria/vingo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rishabhkheria%2Fvingo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rishabhkheria%2Fvingo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rishabhkheria%2Fvingo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rishabhkheria%2Fvingo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rishabhkheria","download_url":"https://codeload.github.com/rishabhkheria/vingo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rishabhkheria%2Fvingo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32555839,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T00:31:16.350Z","status":"ssl_error","status_checked_at":"2026-05-03T00:31:15.546Z","response_time":132,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","cloudinary","express","food-delivery","food-ordering-app","fullstack","javascript","jwt","mern-stack","mongodb","nodejs","react","rest-api","tailwindcss","web-application"],"created_at":"2026-05-03T01:54:20.575Z","updated_at":"2026-05-03T01:54:21.147Z","avatar_url":"https://github.com/rishabhkheria.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🍕 Vingo\r\n\r\n**Vingo** is a full-stack food delivery web application that connects **users**, **shop owners**, and **delivery agents** through a unified digital platform.  \r\nIt allows customers to browse shops, order food, and track deliveries — while shop owners can manage menus, items, and orders seamlessly.\r\n\r\n---\r\n\r\n## 🧭 Table of Contents\r\n\r\n- [About](#about)\r\n- [Features](#features)\r\n- [Tech Stack](#tech-stack)\r\n- [Project Structure](#project-structure)\r\n- [Backend Setup](#backend-setup)\r\n- [Frontend Setup](#frontend-setup)\r\n- [Environment Variables](#environment-variables)\r\n- [API Overview](#api-overview)\r\n- [Contributing](#contributing)\r\n- [License](#license)\r\n- [Contact](#contact)\r\n\r\n---\r\n\r\n## 📘 About\r\n\r\nVingo aims to provide an end-to-end solution for a modern online food delivery system.  \r\nIt is built using the **MERN stack** and includes modular controllers for authentication, item management, order processing, and shop operations — with file uploads via **Multer** and **Cloudinary**.\r\n\r\n---\r\n\r\n## 🚀 Features\r\n\r\n✅ Secure Authentication with JWT  \r\n✅ User, Shop, and Delivery Agent roles  \r\n✅ CRUD APIs for Shops, Items, and Orders  \r\n✅ File uploads using **Multer** \u0026 **Cloudinary**  \r\n✅ Order tracking and delivery assignment  \r\n✅ MongoDB-based persistence layer  \r\n✅ Environment-based configuration  \r\n✅ Scalable folder and module structure  \r\n\r\n---\r\n\r\n## 🧰 Tech Stack\r\n\r\n| Layer | Technology |\r\n|-------|-------------|\r\n| **Frontend** | React.js, Axios, React Router, TailwindCSS |\r\n| **Backend** | Node.js, Express.js |\r\n| **Database** | MongoDB (via Mongoose) |\r\n| **File Storage** | Cloudinary |\r\n| **Auth** | JWT (JSON Web Tokens), bcrypt |\r\n| **Utilities** | Multer, dotenv, cors, cookie-parser |\r\n\r\n---\r\n\r\n## 🗂️ Project Structure\r\n\r\n```\r\nvingo/\r\n├── backend/\r\n│   ├── config/\r\n│   │   └── db.js\r\n│   ├── controllers/\r\n│   │   ├── auth.controllers.js\r\n│   │   ├── item.controllers.js\r\n│   │   ├── order.controllers.js\r\n│   │   ├── shop.controllers.js\r\n│   │   └── user.controllers.js\r\n│   ├── middlewares/\r\n│   │   ├── isAuth.js\r\n│   │   └── multer.js\r\n│   ├── models/\r\n│   │   ├── user.model.js\r\n│   │   ├── shop.model.js\r\n│   │   ├── item.model.js\r\n│   │   ├── order.model.js\r\n│   │   └── deliveryAssignment.model.js\r\n│   ├── index.js\r\n│   └── package.json\r\n│\r\n├── frontend/\r\n│   ├── src/\r\n│   │   ├── components/\r\n│   │   ├── pages/\r\n│   │   ├── services/\r\n│   │   ├── App.js\r\n│   │   └── index.js\r\n│   ├── public/\r\n│   └── package.json\r\n│\r\n└── README.md\r\n```\r\n\r\n---\r\n\r\n## ⚙️ Backend Setup\r\n\r\n### 1️⃣ Clone Repository\r\n```bash\r\ngit clone https://github.com/rishabhkheria/vingo.git\r\ncd vingo/backend\r\n```\r\n\r\n### 2️⃣ Install Dependencies\r\n```bash\r\nnpm install\r\n```\r\n\r\n### 3️⃣ Configure `.env`\r\nCreate a `.env` file inside the **backend** folder:\r\n```bash\r\nPORT=8000\r\nMONGODB_URL=your_mongodb_connection_string\r\nJWT_SECRET=your_secret_key\r\nCLOUDINARY_CLOUD_NAME=your_cloud_name\r\nCLOUDINARY_API_KEY=your_api_key\r\nCLOUDINARY_API_SECRET=your_api_secret\r\nEMAIL=your_email\r\nPASS=your_app_password\r\n```\r\n\r\n### 4️⃣ Run Backend Server\r\n```bash\r\nnpm start\r\n```\r\nServer will start on **http://localhost:8000**\r\n\r\n---\r\n\r\n## 💻 Frontend Setup\r\n\r\n### 1️⃣ Move to Frontend Directory\r\n```bash\r\ncd ../frontend\r\n```\r\n\r\n### 2️⃣ Install Dependencies\r\n```bash\r\nnpm install\r\n```\r\n\r\n### 3️⃣ Create `.env` File (if applicable)\r\n```bash\r\nREACT_APP_BACKEND_URL=http://localhost:8000\r\n```\r\n\r\n### 4️⃣ Run Frontend\r\n```bash\r\nnpm start\r\n```\r\nFrontend will run on **http://localhost:3000**\r\n\r\n---\r\n\r\n## 🌐 Environment Variables\r\n\r\n| Variable | Description |\r\n|-----------|-------------|\r\n| `PORT` | Port on which backend runs |\r\n| `MONGODB_URL` | MongoDB connection URI |\r\n| `JWT_SECRET` | JWT secret key |\r\n| `CLOUDINARY_CLOUD_NAME` | Cloudinary account name |\r\n| `CLOUDINARY_API_KEY` | Cloudinary API key |\r\n| `CLOUDINARY_API_SECRET` | Cloudinary API secret |\r\n| `EMAIL` | Sender email (for notifications) |\r\n| `PASS` | App password for email service |\r\n| `REACT_APP_BACKEND_URL` | Backend base URL for frontend |\r\n\r\n---\r\n\r\n## 🔗 API Overview\r\n\r\n| Feature | Endpoint | Method | Description |\r\n|----------|-----------|--------|-------------|\r\n| Auth | `/api/auth/signup` | POST | Register a new user |\r\n| Auth | `/api/auth/login` | POST | Login existing user |\r\n| Shop | `/api/shops` | GET | List all shops |\r\n| Shop | `/api/shops/:id` | GET | Get shop details |\r\n| Item | `/api/items/:shopId` | GET | Fetch items by shop |\r\n| Order | `/api/orders` | POST | Create a new order |\r\n| Order | `/api/orders/:id` | GET | Get specific order details |\r\n| Delivery | `/api/delivery/assign` | POST | Assign a delivery agent |\r\n\r\n---\r\n\r\n## 🧩 Contributing\r\n\r\nWe welcome contributions!\r\n\r\n1. **Fork** this repository  \r\n2. **Create your feature branch**\r\n   ```bash\r\n   git checkout -b feature/YourFeature\r\n   ```\r\n3. **Commit your changes**\r\n   ```bash\r\n   git commit -m \"Add new feature\"\r\n   ```\r\n4. **Push the branch**\r\n   ```bash\r\n   git push origin feature/YourFeature\r\n   ```\r\n5. **Open a Pull Request** 🚀\r\n\r\n---\r\n\r\n## 🪪 License\r\n\r\nThis project is licensed under the **MIT License**.\r\n\r\n---\r\n\r\n## 📬 Contact\r\n\r\n**👨‍💻 Author:** [Rishabh Kheria](https://github.com/rishabhkheria)  \r\n📧 **Email:** rishabhkheria231@gmail.com  \r\n\r\n---\r\n\u003e 💡 *Vingo – a scalable, modular, and modern full-stack food delivery solution.*\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frishabhkheria%2Fvingo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frishabhkheria%2Fvingo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frishabhkheria%2Fvingo/lists"}