Skip to content

filipwierzejewski/fleet-data-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš— Fleet Data Platform

πŸ“Š Example Dashboard

Dashboard

End-to-end data platform for processing, analyzing and visualizing fleet drivers violation reports.

This project demonstrates a complete data engineering pipeline:

  • file upload API
  • ETL pipeline in Python
  • PostgreSQL data warehouse
  • BI dashboards in Metabase
  • Dockerized infrastructure

πŸ—οΈ Architecture


Excel files
↓
FastAPI (/upload)
↓
ETL Pipeline (Python)
↓
PostgreSQL
↓
Metabase Dashboards


✨ Features

  • πŸ“€ Upload legacy .xls reports via API
  • πŸ”„ Automatic ETL processing after upload
  • 🧹 Idempotent processing (same file is not imported twice)
  • πŸ—„οΈ PostgreSQL as data warehouse
  • πŸ“Š Metabase dashboards:
    • drivers overview
    • violations per driver
    • driver profile (per company / file)
  • πŸ” REST API:
    • /drivers
    • /drivers/{id}/profile
    • /upload

πŸ› οΈ Tech Stack

  • Python 3.12
  • FastAPI
  • Pandas
  • SQLAlchemy
  • PostgreSQL
  • Metabase
  • Docker / Docker Compose

πŸ“ Project Structure

fleet-data-platform/
β”œβ”€β”€ services/
β”‚ β”œβ”€β”€ api/
β”‚ β”‚ └── app/
β”‚ β”‚ β”œβ”€β”€ main.py
β”‚ β”‚ β”œβ”€β”€ db.py
β”‚ β”‚ └── models.py
β”‚ β”œβ”€β”€ etl/
β”‚ β”‚ β”œβ”€β”€ incoming/
β”‚ β”‚ β”œβ”€β”€ parsers/
β”‚ β”‚ β”‚ └── legacy_xls_parser.py
β”‚ β”‚ β”œβ”€β”€ etl_pipeline.py
β”‚ β”‚ └── models.py
β”‚ └── venv/
β”œβ”€β”€ storage/
β”‚ β”œβ”€β”€ postgres/
β”‚ └── metabase/
β”œβ”€β”€ docker-compose.yml
└── README.md

About

Data platform for analyzing driver violations with FastAPI, PostgreSQL and Metabase.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages