Delivering Fuel & Roadside Aid Anytime, Anywhere!
FuelAid is a real-time full-stack web application built using Node.js, Express, MongoDB, and Socket.io, designed to assist users with emergency roadside services and fuel delivery. The platform supports live geolocation tracking, role-based dashboards, and automated receipt generation — ensuring seamless coordination between customers, mechanics, fuel delivery agents, and admins.
FuelAid stands out from traditional service platforms due to its real-time geolocation, live tracking, and tailored role-based workflows. Key innovations include:
- 🚗 Role-Specific Interfaces: Custom dashboards and features for customers, mechanics, fuel delivery personnel, and admins.
- 📍 Live Location Tracking: Mechanics’ current locations are fetched on login to match service requests within a 100 km radius.
- 🧾 Automated PDF Report Generation: PDFKit is used to create service reports and receipts, which are auto-emailed post-service.
- 🔗 Socket.io Real-Time Updates: Enables live status updates and location changes without refreshing the page.
- 🛡️ Verified Service Providers: Mechanics and fuel boys go through a detailed verification process for enhanced user trust and safety.
- Installation and setup
- Features
- Technologies used
- npm packages used
- Prerequisites
- Useful Links
- Contact
- Clone the repository
git clone https://github.com/your-username/fuel_aid.git cd fuel-aid - Install all the dependencies
npm install
- Create a file named ".env" and enter the following credentials:
MONGO_URI = yourmongouri; OPENCAGE_API_KEY = your_apikey;
- Run the web application
npm start
- Open http://localhost:5000 in your browser.
-
Customer: Requests fuel or roadside assistance through an intuitive service request form. Customers can track service status in real-time, view receipts, and submit feedback.
-
Mechanic: Receives and accepts nearby service requests (within 100 km). Mechanics can update service status, track customers, and view their service history.
-
Fuel Delivery Boy: Assigned by the admin to deliver petrol or diesel to customers. They can view customer location, confirm delivery, and mark requests as completed.
-
Admin: Oversees the platform, verifies new users, manages service requests, assigns fuel delivery personnel or mechanics, and ensures smooth operational flow.
- Signup/login with driving license verification.
- Request services: Roadside, Maintenance, or Fuel.
- View status & track mechanic/fuel delivery in real-time.
- Receive service receipts.
- Submit feedback & rate services.
- Login with location tracking.
- View and accept nearby service requests (within 100 km).
- Dashboard auto-refresh every 20 minutes.
- Real-time customer tracking & service update.
- Submit post-service notes and view service history.
- Submit hiring form (includes experience & background).
- Assigned deliveries based on proximity.
- Track customer, provide fuel, mark completion.
- Follow receipt and feedback cycle.
- Manage customer & fuel delivery boy onboarding.
- Assign services manually based on proximity.
- Monitor all service request statuses (pending/ongoing/completed).
- View feedback, ratings, and notes.
- Full platform moderation and quality assurance.
- HTML
- CSS
- Bootstrap
- Javascript
- Node.js
- Express.js
- Mongodb
- ejs
- express
- ejs
- express-ejs-layouts
- mongoose
- express-session
- bcryptjs
- passport
- passport-local
- connect-flash
- method-override
- dotenv
- geolib
- pdfkit
- socket.io
- OpenCage Geocoding API: Converts textual addresses to lat/long and vice versa.
- Leaflet.js: Displays live map view for customer-mechanic tracking.
- Haversine-distance: Calculates shortest distance between two coordinates for ETA accuracy.
- Geolib: Filters and ranks nearest service providers based on real-time geolocation.
For running the application:
- Node.js must be installed on the system.
- You should have a MongoDB database.
- You should have a code editor (preferred: VS Code)
- Node.js Download
- VS Code Download
- MongoDB Atlas
- Leaflet.js Docs
- Socket.io Docs
- OpenCage API
- GitHub Docs
📧 For queries or contributions: nikitabansal006@gmail.com
🔗 GitHub Repo: https://github.com/Nikki-ta/fuel_aid
This project is licensed under the MIT License - see the LICENSE.MD file for details.
