Skip to content

iantab/carbu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Français | English

Carbu

CI/CD Live Site API Status

Real-time Quebec gas price tracker. Fetches station data from the Régie de l'énergie du Québec and serves it through a fast, interactive map interface.

Features

  • Interactive map of ~2,400 gas stations with clustered, color-coded price markers
  • Filter by fuel type, brand, region, city, and borough
  • Station details with all prices, Google Maps directions, and favorites
  • List view with drill-down navigation (region → city → borough → station)
  • Price comparison by brand
  • Dark mode and French/English toggle

Tech Stack

Backend: Java 25, Spring Boot 4, PostgreSQL, Flyway, Hibernate, Caffeine cache

Frontend: React 19, TypeScript, Vite, Tailwind CSS v4, shadcn/ui, MapLibre GL JS

Prerequisites

  • Java 25
  • Docker (for PostgreSQL)
  • Bun (for frontend)

Getting Started

1. Start PostgreSQL

docker run -d --name quebec-gas-pg \
  -e POSTGRES_PASSWORD=postgres \
  -e POSTGRES_DB=quebec_gas_prices \
  -p 5432:5432 postgres:17

2. Start the backend

cd server
./gradlew bootRun

The API starts on http://localhost:8080. On first run, Flyway creates the schema and the app fetches all station data.

3. Start the frontend

cd client
bun install
bun run dev

Open http://localhost:5173. The Vite dev server proxies API requests to the backend.

Testing

Backend: 111 JUnit tests (services, controllers, models)

cd server && ./gradlew test

Frontend: 42 Vitest tests (favorites, translations, routing, API client)

cd client && bun run test

Data Source

Station and price data is provided by the Régie de l'énergie du Québec via their public endpoint at https://regieessencequebec.ca/stations.geojson.gz. The backend fetches this every 15 minutes and only records a new price snapshot when a station's price actually changes.

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors