A comprehensive bike sharing platform with real-time vehicle management, charging infrastructure, and seamless user experience for both administrators and customers.
- Vehicle Management: Real-time tracking, battery monitoring, charging status
- Charging Infrastructure: Smart charging port management with auto-assignment
- Financial Analytics: Payment tracking, revenue reports, station performance
- Live Updates: Auto-refreshing vehicle status without page reload
- Station Management: Monitor and control multiple charging stations
- Interactive 3D Models: Stunning bike visualizations with Three.js
- QR Code Scanning: Quick vehicle unlock functionality
- Real-time Ride Tracking: Live ride progress and battery status
- Digital Wallet: Secure payment processing and ride passes
- Responsive Design: Mobile-first approach with Tailwind CSS
bolt-ride/
โโโ admin-app/ # Partner/Admin Platform
โ โโโ client/ # React Frontend
โ โ โโโ src/pages/ # Dashboard, Vehicles, Payments, Reports
โ โ โโโ src/api/ # API integration modules
โ โ โโโ public/ # Static assets
โ โโโ server/ # Django Backend
โ โโโ vehicles/ # Vehicle management APIs
โ โโโ charging_ports/ # Charging infrastructure
โ โโโ payments/ # Financial operations
โ โโโ reports/ # Analytics and reporting
โ โโโ dashboard/ # Main dashboard APIs
โโโ customer-app/ # Customer Platform
โ โโโ client/ # React Frontend
โ โ โโโ src/pages/ # Dashboard, Rides, Wallet, Stations
โ โ โโโ src/components/ # Reusable UI components
โ โ โโโ src/api.js # API service layer
โ โโโ server/ # Node.js Backend
โ โโโ models/ # MongoDB schemas
โ โโโ routes/ # API endpoints
โ โโโ controllers/ # Business logic
โ โโโ services/ # External services
โโโ docs/ # Documentation
- Node.js (v18+)
- Python (v3.8+)
- MongoDB (local or MongoDB Atlas)
- npm or yarn
- pip (Python package manager)
-
Clone the repository
git clone https://github.com/rudra-2/bolt-ride.git cd bolt-ride -
Set up environment variables
Create
.envfiles in both server directories:admin-app/server/.env:
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/boltride DEBUG=True SECRET_KEY=your-secret-key
customer-app/server/.env:
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/boltride PORT=5000 JWT_SECRET=your-jwt-secret
Backend:
cd admin-app/server
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
# Runs on http://localhost:8000Frontend:
cd admin-app/client
npm install
npm start
# Runs on http://localhost:3000Backend:
cd customer-app/server
npm install
npm run seed # Optional: Seed sample data
npm start
# Runs on http://localhost:5000Frontend:
cd customer-app/client
npm install
npm start
# Runs on http://localhost:3001- Vehicle Management: Monitor 50+ vehicles across 4 stations
- Real-time Charging: Live battery updates and charging status
- Payment Analytics: Revenue tracking and financial reports
- Station Overview: Comprehensive station performance metrics
- 3D Bike Models: Interactive vehicle previews
- Ride Booking: Seamless QR code scanning and unlock
- Live Tracking: Real-time ride progress and navigation
- Digital Wallet: Secure payment and pass management
vehicles:
- Vehicle tracking, battery status, location
- Real-time charging integration
- Station assignment and availability
customers:
- User authentication and profiles
- Wallet balance and transaction history
- Ride preferences and history
rides:
- Complete ride lifecycle management
- Payment processing and billing
- Route tracking and analytics
charging_ports:
- Port availability and assignment
- Charging session management
- Power consumption tracking
stations:
- Station locations and capacity
- Performance metrics and analytics
- Manager assignments and access control
GET /api/vehicles/{station_id}/- Get vehicles by stationPATCH /api/vehicles/update-status/{vehicle_id}/- Update vehicle statusGET /api/payments/{station_id}/- Get payment recordsGET /api/reports/{station_id}/- Generate station reportsPOST /api/charging-ports/start-charging/- Start charging sessionPOST /api/charging-ports/stop-charging/- Stop charging session
POST /api/auth/login- User authenticationGET /api/stations- Get available stationsPOST /api/rides/start- Start new ridePOST /api/rides/end- End active rideGET /api/wallet/balance- Get wallet balancePOST /api/payments/process- Process payment
- JWT-based authentication for customer app
- Session-based authentication for admin app
- bcrypt password hashing for secure storage
- Input validation with Joi schemas
- CORS protection for cross-origin requests
- Environment variable protection for sensitive data
-
Environment Configuration
- Set production MongoDB URI
- Configure secure JWT secrets
- Enable SSL/HTTPS
- Set up proper CORS policies
-
Build Applications
# Admin frontend cd admin-app/client && npm run build # Customer frontend cd customer-app/client && npm run build
-
Server Deployment
- Deploy Django app with gunicorn/uWSGI
- Deploy Node.js app with PM2
- Configure reverse proxy (nginx)
- Set up SSL certificates
- Auto-refresh functionality for real-time updates
- Optimized MongoDB queries with proper indexing
- Lazy loading for 3D models and images
- Responsive caching for improved user experience
- Background charging processes for seamless operation
- ESLint & Prettier for code formatting
- Jest for unit testing
- React DevTools for component debugging
- MongoDB Compass for database management
- Postman collections for API testing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow existing code style and conventions
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting PR
This project is licensed under the MIT License - see the LICENSE file for details.
- Rudra Patel - Project Lead & Full-Stack Developer
- Smit Patel - Frontend Developer & UI/UX Designer
- Dhruvil Patel - Backend Developer & Database Architect
- Avinash Patel - DevOps & Infrastructure Specialist
For support, email team@boltride.com or create an issue in this repository.
- Mobile apps for iOS and Android
- Advanced analytics dashboard
- Integration with mapping services
- IoT device integration for real-time tracking
- AI-powered demand prediction
- Multi-language support
- Advanced reporting and business intelligence
Built with โค๏ธ for sustainable urban mobility