{"id":29584159,"url":"https://github.com/dibyadyutidas/group-buying-platform","last_synced_at":"2025-07-20T00:06:44.971Z","repository":{"id":304591947,"uuid":"928750123","full_name":"DibyadyutiDas/group-buying-platform","owner":"DibyadyutiDas","description":"Users team up for bulk purchases to reduce costs — includes chats","archived":false,"fork":false,"pushed_at":"2025-07-14T03:44:53.000Z","size":483,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-14T06:02:58.238Z","etag":null,"topics":["ecommerce","github-pages","multiuser","website"],"latest_commit_sha":null,"homepage":"https://dibyadyutidas.github.io/group-buying-platform/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DibyadyutiDas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-07T07:03:15.000Z","updated_at":"2025-07-14T03:44:57.000Z","dependencies_parsed_at":"2025-07-14T06:03:00.983Z","dependency_job_id":"6544160c-5c46-4c67-887d-2ad14983923a","html_url":"https://github.com/DibyadyutiDas/group-buying-platform","commit_stats":null,"previous_names":["dibyadyutidas/group-buying-platform"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/DibyadyutiDas/group-buying-platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DibyadyutiDas%2Fgroup-buying-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DibyadyutiDas%2Fgroup-buying-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DibyadyutiDas%2Fgroup-buying-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DibyadyutiDas%2Fgroup-buying-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DibyadyutiDas","download_url":"https://codeload.github.com/DibyadyutiDas/group-buying-platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DibyadyutiDas%2Fgroup-buying-platform/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266047230,"owners_count":23868707,"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":["ecommerce","github-pages","multiuser","website"],"created_at":"2025-07-20T00:06:39.761Z","updated_at":"2025-07-20T00:06:44.949Z","avatar_url":"https://github.com/DibyadyutiDas.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛒 BulkBuy: A Smart Group Buying Platform\n\n---\n\n## 📝 Overview\n**BulkBuy** is a collaborative purchasing platform that allows users to share their planned future purchases and connect with others interested in buying the same product. By pooling orders together, users can buy in bulk and enjoy lower costs through collective purchasing power.\n\n## 🚀 Live Demo\n- **Frontend**: [https://dibyadyutidas.github.io/group-buying-platform](https://dibyadyutidas.github.io/group-buying-platform)\n- **Backend API**: [https://group-buying-platform-backend.onrender.com](https://group-buying-platform-backend.onrender.com)\n\n## 🔧 Deployment Setup\n\n### Frontend (GitHub Pages)\nThe frontend is automatically deployed to GitHub Pages when you push to the main branch.\n\n### Backend (Render)\n1. Create a new Web Service on [Render](https://render.com)\n2. Connect your GitHub repository\n3. Set the following environment variables in Render:\n   ```\n   NODE_ENV=production\n   MONGODB_URI=your_mongodb_atlas_connection_string\n   JWT_SECRET=your_secure_jwt_secret\n   FRONTEND_URL=https://dibyadyutidas.github.io/group-buying-platform\n   ```\n\n### Database (MongoDB Atlas)\n1. Create a MongoDB Atlas cluster\n2. Create a database user\n3. Whitelist your IP addresses (or use 0.0.0.0/0 for all IPs)\n4. Get your connection string and add it to your Render environment variables\n\n## 🔒 Security Notice\nThis repository excludes sensitive files for security purposes. See [SECURITY_GUIDELINES.md](SECURITY_GUIDELINES.md) for details on:\n- Environment variables setup\n- Files not uploaded to the repository\n- Security best practices\n\n---\n\n## 🚀 How It Works\n✔️ **User Registration \u0026 Login** – Users create an account to manage their purchases and group orders.  \n✔️ **Product Wishlist \u0026 Future Purchase Plans** – Users add products they intend to buy, along with an estimated purchase date.  \n✔️ **Group Purchase Matching** – If multiple users want the same product, they can join forces to place a bulk order.  \n✔️ **Discounts \u0026 Cost Reduction** – Buying in bulk helps users get better deals from suppliers or retailers.  \n✔️ **Community Interaction** – A discussion feature allows users to coordinate, finalize orders, and share insights.  \n\n---\n\n## 🔥 Key Features\n✅ **Enhanced Security** – Comprehensive protection against XSS, injection attacks, and vulnerabilities  \n✅ **Smart Image System** – Category-specific fallback images for better visual experience  \n✅ **User-friendly Dashboard** – Easily track upcoming purchases and group deals  \n✅ **Smart Matching Algorithm** – Connect users planning to buy the same item  \n✅ **Modern UI/UX** – Dark mode support, responsive design, and intuitive navigation  \n✅ **Real-time Notifications** – Toast notifications and status indicators  \n✅ **Secure Transactions** – Enhanced validation and data protection  \n✅ **Admin Controls** – Manage users, verify deals, and oversee transactions  \n\n## 🔐 Security Features\n✅ **15 Security Vulnerabilities Fixed** – Complete CodeQL security audit compliance  \n✅ **XSS Prevention** – Comprehensive input sanitization across all components  \n✅ **Database Protection** – Injection-proof queries with input validation  \n✅ **CORS Security** – Proper origin validation and security headers  \n✅ **Error Handling** – Secure error messages without data exposure  \n\n---\n\n## 🎯 Why BulkBuy?\n- 💰 **Saves Money** – Leverage bulk discounts for better deals.  \n- 🤝 **Community-Driven** – Encourages collective purchasing and planning.  \n- 📅 **Smarter Shopping** – Helps users plan their purchases and avoid impulse buying.  \n\n---\n\n## 📂 Project Structure\n```yaml\nBulkBuy/\n│-- src/                  # React.js frontend\n│-- backend/              # Node.js + Express.js API\n│-- .github/workflows/    # CI/CD pipelines\n│-- docs/                 # Documentation\n│-- README.md             # This file\n```\n\n---\n\n## 🛠 Local Development\n\n### Prerequisites\n- Node.js 18+ and npm\n- MongoDB Atlas account (or local MongoDB)\n\n### Frontend Setup\n```sh\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run dev\n\n# Build for production\nnpm run build\n```\n\n### Backend Setup\n```sh\n# Navigate to backend directory\ncd backend\n\n# Install dependencies\nnpm install\n\n# Copy environment template\ncp .env.example .env\n# Edit .env with your configuration\n\n# Start development server\nnpm run dev\n```\n\n### Environment Variables\nCreate a `.env` file in the backend directory:\n```env\nNODE_ENV=development\nPORT=5000\nMONGODB_URI=your_mongodb_connection_string\nJWT_SECRET=your_jwt_secret\nFRONTEND_URL=http://localhost:5173\n```\n\n---\n\n## 🚀 Deployment\n\n### Automatic Deployment\n- **Frontend**: Automatically deploys to GitHub Pages on push to main branch\n- **Backend**: Deploy to Render by connecting your GitHub repository\n\n### Manual Deployment\n```sh\n# Frontend\nnpm run build\nnpm run deploy\n\n# Backend\n# Push to your Render-connected repository\ngit push origin main\n```\n\n---\n\n## 🆕 Recent Updates (July 2025)\n\n### 🔐 Security Enhancements\n- **Fixed 15 CodeQL Security Vulnerabilities** - Complete security audit and remediation\n- **Enhanced Input Validation** - Multi-layer validation on frontend and backend\n- **XSS Prevention** - Comprehensive text sanitization across all components\n- **Database Security** - Injection-proof queries with proper input sanitization\n\n### 🎨 UI/UX Improvements  \n- **Enhanced Image System** - Category-specific fallback images for better visual diversity\n- **Navigation Updates** - Customized header navigation as per user preferences\n- **Better Error Handling** - User-friendly error messages and fallback mechanisms\n- **Performance Optimizations** - Improved loading states and component efficiency\n\n### 📚 Documentation\n- **Security Documentation** - Detailed security improvements and best practices\n- **Improvement Tracking** - Comprehensive documentation of completed enhancements\n- **Updated README** - Reflects current capabilities and features\n\nFor detailed information about improvements, see:\n- [Security Improvements](./docs/SECURITY_IMPROVEMENTS.md)\n- [Completed Improvements](./docs/IMPROVEMENTS_COMPLETED.md)\n- [Improvement Suggestions](./docs/IMPROVEMENT_SUGGESTIONS.md)\n\n---\n\n## 🔧 Troubleshooting\n\n### Common Issues\n1. **CORS Errors**: Ensure your backend URL is correctly configured in the frontend\n2. **Database Connection**: Verify your MongoDB Atlas connection string and IP whitelist\n3. **Environment Variables**: Check that all required environment variables are set in Render\n\n### Health Checks\n- Frontend: Check browser console for errors\n- Backend: Visit `/api/health` endpoint\n- Database: Check `/api/db-status` endpoint\n\n---\n\n## 💡 Contributing\nWe welcome contributions! If you'd like to add new features, fix bugs, or improve documentation:\n1. **Fork the repository**\n2. **Create a new branch**\n3. **Make your changes**\n4. **Submit a pull request** 🚀\n\n---\n\n## 📜 License\nThis project is **open-source** and available under the **MIT License**.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdibyadyutidas%2Fgroup-buying-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdibyadyutidas%2Fgroup-buying-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdibyadyutidas%2Fgroup-buying-platform/lists"}