A comprehensive web application that connects local vendors with raw material suppliers through a transparent bidding system. Built with React, Node.js, Express, and MongoDB.
- Bidding System: Vendors list raw material requirements, suppliers place competitive bids
- Analytics Dashboard: Data-driven insights for vendor growth optimization
- Verification System: E-Aadhar and FSSAI license verification for suppliers
- Locality-based Matching: Connect vendors and suppliers by location
- Real-time Updates: Live status updates for requirements and bids
- Create and manage raw material requirements
- Set budget ranges and delivery specifications
- View and compare supplier bids
- Award contracts to winning suppliers
- Analytics dashboard with sales insights
- Growth recommendations based on data
- Browse available requirements by locality
- Place competitive bids with pricing and terms
- Document verification (Aadhar + FSSAI)
- Track bid status and order history
- Manage delivery schedules
- JWT-based authentication
- Password encryption with bcrypt
- Supplier verification with government documents
- Role-based access control
- Input validation and sanitization
- React 18 - UI framework
- React Router - Client-side routing
- Tailwind CSS - Styling
- Axios - HTTP client
- React Hook Form - Form management
- Recharts - Data visualization
- React Hot Toast - Notifications
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM
- JWT - Authentication
- bcryptjs - Password hashing
- Express Validator - Input validation
- Node.js (v16 or higher)
- MongoDB (local or cloud)
- npm or yarn package manager
-
Clone the repository
git clone <repository-url> cd vendor-bidding-platform
-
Install dependencies
# Install root dependencies npm install # Install server dependencies cd server && npm install # Install client dependencies cd ../client && npm install
-
Environment Setup
Create a
.envfile in the server directory:PORT=5000 MONGODB_URI=mongodb://localhost:27017/vendor-bidding JWT_SECRET=your-secret-key-here NODE_ENV=development
-
Start the application
# From the root directory npm run devThis will start both the backend server (port 5000) and frontend client (port 3000).
vendor-bidding-platform/
├── server/ # Backend API
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ ├── middleware/ # Custom middleware
│ └── index.js # Server entry point
├── client/ # Frontend React app
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── pages/ # Page components
│ │ ├── contexts/ # React contexts
│ │ └── App.js # Main app component
│ └── public/ # Static files
├── package.json # Root package.json
└── README.md # This file
POST /api/auth/register- User registrationPOST /api/auth/login- User loginPOST /api/auth/verify-supplier- Supplier verificationGET /api/auth/profile- Get user profile
GET /api/requirements- List all requirementsPOST /api/requirements- Create new requirementGET /api/requirements/:id- Get requirement detailsPUT /api/requirements/:id- Update requirementPOST /api/requirements/:id/award- Award bid
POST /api/bids- Place a bidGET /api/bids/my-bids- Get user's bidsPUT /api/bids/:id- Update bidDELETE /api/bids/:id- Withdraw bid
POST /api/analytics/sales-data- Add sales dataGET /api/analytics/dashboard- Get analytics dashboardPOST /api/analytics/generate-recommendations- Generate insights
- Register as a vendor
- Create raw material requirements with specifications
- Review incoming bids from suppliers
- Award contracts to preferred suppliers
- Track analytics and growth insights
- Register as a supplier
- Complete verification with Aadhar and FSSAI documents
- Browse requirements in your locality
- Place competitive bids
- Manage awarded contracts
- Authentication: JWT tokens with expiration
- Authorization: Role-based access control
- Data Validation: Input sanitization and validation
- Password Security: bcrypt hashing
- CORS: Configured for secure cross-origin requests
- Helmet: Security headers middleware
- Sales data tracking and analysis
- Material usage optimization
- Profit margin calculations
- Growth recommendations
- Performance metrics dashboard
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in the repository
- Contact the development team
- Check the documentation
- Real-time notifications
- Mobile app development
- Advanced analytics with ML
- Payment integration
- Delivery tracking
- Supplier rating system
- Multi-language support
Built with ❤️ for the hackathon community