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