{"id":25623869,"url":"https://github.com/moinmn/mumbailocal-qr","last_synced_at":"2026-04-07T20:32:40.243Z","repository":{"id":278864011,"uuid":"934689930","full_name":"MoinMN/MumbaiLocal-QR","owner":"MoinMN","description":"MumbaiLocal-QR is a MERN stack-based web application that provides QR codes for multiple Mumbai local train stations, allowing users to book tickets conveniently at or near the station. It also includes a public submission system where anonymous users can contribute missing QR codes, which are then reviewed and approved via an admin dashboard.","archived":false,"fork":false,"pushed_at":"2025-02-22T06:24:02.000Z","size":309,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T07:23:47.437Z","etag":null,"topics":["bcrypt","cloudinary","cookie","framer-motion","jsonwebtoken","mern","mongodb","mongoose","nodejs","reactjs","vercel"],"latest_commit_sha":null,"homepage":"https://mumbailocal-qr.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/MoinMN.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}},"created_at":"2025-02-18T08:50:11.000Z","updated_at":"2025-02-22T06:24:05.000Z","dependencies_parsed_at":"2025-02-22T07:23:52.302Z","dependency_job_id":"d58fd637-0be1-4689-97f2-779539328659","html_url":"https://github.com/MoinMN/MumbaiLocal-QR","commit_stats":null,"previous_names":["moinmn/mumbailocal-qr"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoinMN%2FMumbaiLocal-QR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoinMN%2FMumbaiLocal-QR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoinMN%2FMumbaiLocal-QR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MoinMN%2FMumbaiLocal-QR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MoinMN","download_url":"https://codeload.github.com/MoinMN/MumbaiLocal-QR/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240170087,"owners_count":19759145,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bcrypt","cloudinary","cookie","framer-motion","jsonwebtoken","mern","mongodb","mongoose","nodejs","reactjs","vercel"],"created_at":"2025-02-22T12:16:34.442Z","updated_at":"2026-04-07T20:32:40.187Z","avatar_url":"https://github.com/MoinMN.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **MumbaiLocal-QR**  \n\nMumbaiLocal-QR is a **MERN stack-based** web application that provides QR codes for multiple Mumbai local train stations, allowing users to book tickets conveniently at or near the station. It also includes a **public submission system** where anonymous users can contribute missing QR codes, which are then reviewed and approved via an **admin dashboard**.  \n\n## **🚀 Live Demo**  \n\n- **Frontend (React.js, Vite, Tailwind CSS)**: [MumbaiLocal-QR Frontend](https://mumbailocal-qr.vercel.app)  \n- **Backend (Node.js, Express.js, MongoDB)**: [MumbaiLocal-QR Backend](https://mumbailocal-qr-api.vercel.app)  \n\n---\n\n## **📌 Features**  \n\n### **User Features**  \n✅ View QR codes of multiple Mumbai local train stations.  \n✅ Submit missing QR codes **anonymously** through a public form.  \n\n### **Admin Features**  \n✅ Access an **admin dashboard** at `/admin`.  \n✅ **Review \u0026 approve** QR codes submitted by the public.  \n✅ Submit and **manage QR codes** directly.  \n\n---\n\n## **🛠 Tech Stack**  \n\n- **Frontend**: React.js, Tailwind CSS, Vite  \n- **Backend**: Node.js, Express.js  \n- **Database**: MongoDB (MongoDB Atlas)  \n- **Authentication**: JWT (for admin access)  \n- **Storage**: Cloudinary (for QR code images)  \n- **Deployment**: **Vercel (Frontend \u0026 Backend)**  \n\n---\n\n## **🛠 Installation Guide**  \n\n### **📌 Prerequisites**  \n\n- **Node.js** installed  \n- **MongoDB** (Local or Cloud)  \n\n### **1️⃣ Clone the Repository**  \n\n```sh\ngit clone https://github.com/MoinMN/MumbaiLocal-QR.git\ncd MumbaiLocal-QR\n```\n\n### **2️⃣ Install Dependencies**  \n\n```sh\ncd client\nnpm install\ncd ../server\nnpm install\n```\n\n### **3️⃣ Configure Environment Variables**  \n\n#### **Frontend (`client/.env`)**  \n```env\nVITE_BACKEND_URL=\"your_backend_url\"\n```\n\n#### **Backend (`server/.env`)**  \n```env\nPORT=5000\nMONGO_URI=your_mongodb_connection_string\nJWT_SECRET=your_jwt_secret\nFRONTEND_URL=your_frontend_url\nCLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name\nCLOUDINARY_API_KEY=your_cloudinary_api_key\nCLOUDINARY_API_SECRET=your_cloudinary_api_secret\n```\n\n### **4️⃣ Start the Application**  \n\n#### **Backend (Server)**  \n```sh\ncd server\nnpm start\n```\n\n#### **Frontend (Client)**  \n```sh\ncd client\nnpm run dev\n```\n\n**🖥 Open `http://localhost:5173` in your browser.**  \n\n---\n\n## **📌 API Endpoints**  \n\n### **🔹 Public Routes**  \n- `GET /qr/get` → Fetch all available QR codes  \n- `POST /qr/post` → Submit a new QR code (Anonymous)  \n\n### **🔹 Admin Routes (Protected via JWT)**  \n- `POST /auth/login` → Admin login  \n- `GET /qr/pending-qr-admin` → Fetch pending QR codes  \n- `PUT /qr/put-approve` → Approve a QR code  \n- `DELETE /qr/delete-qr-admin` → Delete a QR code  \n- `POST /qr/post-qr-admin` → Add a new QR code  \n\n---\n\n## **📌 Deployment on Vercel**  \n\n### **🚀 Deploy Frontend to Vercel**  \n```sh\ncd client\nvercel deploy --prod\n```\n👉 **Live:** [MumbaiLocal-QR Frontend](https://mumbailocal-qr.vercel.app)  \n\n### **🚀 Deploy Backend to Vercel**  \n```sh\ncd server\nvercel deploy --prod\n```\n👉 **Live:** [MumbaiLocal-QR Backend](https://mumbailocal-qr-api.vercel.app)  \n\n---\n\n## **🤝 Contributing**  \n\n1. **Fork** the repo  \n2. **Create a new branch** (`feature/new-feature`)  \n3. **Commit your changes** and push  \n4. **Submit a Pull Request**  \n\n---\n\n## **🚆 Made with ❤️ for Mumbai's Local Train Commuters!**  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoinmn%2Fmumbailocal-qr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoinmn%2Fmumbailocal-qr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoinmn%2Fmumbailocal-qr/lists"}