Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OSPlus Enterprise Reporting Engine & Data Warehouse

Eine modulare, produktionsnahe Data-Engineering-Architektur zur Simulation eines Kernbanksystems (inspiriert durch OSPlus-Strukturen). Das Projekt implementiert einen automatisierten ETL-Prozess (Extract, Transform, Load), ein relationales SQLite-Data-Warehouse im Backend sowie ein analytisches Business-Intelligence-Reporting-Modul.


🏛️ Architektur & Tech-Stack

Das System trennt die Datenspeicherung, die relationale Abfragelogik und das automatisierte Reporting strikt voneinander:

  • Datenbank & Data Warehouse: SQLite (mit relationalem Schema, Primär- und Fremdschlüsselintegrität).
  • ETL-Pipeline & Datenverarbeitung: Python mit Pandas und NumPy (synthetische Generierung von Enterprise-Massendaten: 10.000 Konten und 50.000 Transaktionen).
  • Analytisches SQL: Modulare Abfragen mit relationalen JOIN-Operationen und Aggregationsfunktionen (SUM, AVG, COUNT).
  • Reporting & Visualisierung: Automatisierter Export von strukturierten CSV-Berichten und professionellen Finanzdiagrammen mittels Matplotlib und Seaborn.
  • Entwicklungsumgebung: Python Virtual Environment (venv), Git für die Versionskontrolle.

📂 Projektstruktur

osplus-reporting-engine/
│
├── data/
│   └── processed/            # Generiertes SQLite Data Warehouse (*.db)
│
├── reports/                  # Automatisierte BI-Ergebnisse (CSV & PNG)
│   ├── transaktionen_analyse.csv
│   └── transaktionen_volumen.png
│
├── scripts/
│   └── generate_report.py    # ETL-Extraktion und BI-Visualisierungsskript
│
├── sql_queries/              # Isolierte und modulare SQL-Skripte
│   ├── schema.sql            # DDL-Definition des relationalen Schemas
│   └── report_transaktionen_analyse.sql # Analytische JOIN-Abfrage
│
├── .gitignore                # Ausschluss von venv, Cache und Binärdaten
├── main.py                   # ETL-Pipeline zur Massendaten-Initalisierung
├── requirements.txt          # Projektabhängigkeiten
└── README.md                 # Projektdokumentation

🚀 Installation & Lokale Ausführung

1. Repository klonen und virtuelle Umgebung aktivieren

git clone [https://github.com/dgoo24/osplus-reporting-engine.git](https://github.com/dgoo24/osplus-reporting-engine.git)
cd osplus-reporting-engine
python -m venv venv
.\venv\Scripts\activate

2. Abhängigkeiten installieren

pip install -r requirements.txt

3. Data Warehouse initialisieren und ETL-Pipeline ausführen

Generiert die synthetischen Massendaten (10.000 Konten, 50.000 Transaktionen) und lädt sie in die relationale SQLite-Datenbank:

python main.py

4. BI-Report und Visualisierungen generieren

Führt die SQL-Abfrage aus, exportiert die aggregierten Kennzahlen als CSV und erstellt die grafische Auswertung:

python scripts/generate_report.py

📊 Analytische SQL-Logik (Beispiel)

Das Reporting basiert auf relationalen Verknüpfungen zwischen Kontestämmen und Transaktionsdaten:

SELECT 
    k.kontotyp,
    COUNT(DISTINCT k.konto_id) AS anzahl_konten,
    COUNT(t.transaktion_id) AS gesamt_transaktionen,
    ROUND(SUM(t.betrag), 2) AS gesamt_volumen,
    ROUND(AVG(t.betrag), 2) AS durchschnittlicher_betrag
FROM konten k
LEFT JOIN transaktionen t ON k.konto_id = t.konto_id
GROUP BY k.kontotyp
ORDER BY gesamt_volumen DESC;

About

Enterprise Reporting Engine & Data Warehouse zur Simulation von Kernbanksystemen

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages