Logo Lanfrica

abdolsv/fuel-finder

Domaine:

digital infrastructure

Type de record:

software
Créateur:
abd
Hôte:
Crowdsourced fuel prices and availability for drivers in Nigeria to check whether a station actually has fuel in stock before driving there. # Fuel Station Finder A web app that helps drivers locate nearby fuel stations, check recently reported prices, and most importantly see whether a station actually has fuel in stock before driving there. Built for the real-world pain point of fuel scarcity in Nigeria, where price is only half the problem. **Live Demo** ## Why this exists Most fuel-finder tools only show price. But in markets where fuel scarcity is common, the more urgent question is: is there even fuel there right now? This app tracks both price and availability sourced from real driver reports, so you're not driving across town on a rumor. ## Features - **Interactive map** of nearby fuel stations using Leaflet.js - **Live-ish pricing** based on the most recent driver-submitted report - **Fuel availability tracking** — "Fuel available" / "Out of fuel" badges with a timestamp of the last confirmation - **Filtering** by fuel type, max price, distance/radius, and availability - **Crowdsourced price reports** — any user can submit a new report for a station - **Price history** per station, not just the latest snapshot ## Tech Stack | Layer | Technology | |------------|--------------------------------------| | Backend | Node.js, Express, Sequelize ORM | | Database | PostgreSQL | | Frontend | React (Vite), Leaflet.js | | Deployment | Render | ## Getting Started (Local Development) ### Prerequisites - Node.js (v18+ recommended) - PostgreSQL (local install, or use a free hosted instance from Neon/Supabase) - npm ### 1. Clone the repo ```bash git clone github.com cd fuel-finder ``` ### 2. Set up the database Create a Postgres database and user: ```bash createuser fueluser --pwprompt createdb fuelfinder -O fueluser ``` ### 3. Configure and start the backend ```bash cd backend cp .env.example .env npm install npm run seed npm start ``` Backend runs at `http: …