Skip to content

Toemmsche/database-systems-project-mirror

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wahlinformationssystem

Unser Wahlinformationssystem und die zugehörige API ist für jeden zugänglich.

Eine interaktive Übersicht ist ebenfalls verfügbar.

Artefakte

Projektübersicht

Artefakte (/artifacts)

Sämtliche Artefakte und Dokumentation, wie sie oben aufgelistet sind.

Backend (/backend)

  • data/
    • Datenquellen (hauptsächlich vom Bundeswahlleiter)
  • logic/
    • Einlesen der Daten (initialization)
    • Applikationslogik (mit z.T. eingebetettem SQL)
    • Hilfsfunktionen zur Kommunikation mit der Datenbank
  • sql/
    • bundestag/
      • Berechnung der Sitzverteilung und Mandat
      • Besondere Trigger
    • init/
      • Schemaerstellung (init.sql)
      • Indizes
      • Trigger
    • queries/
      • Daten, die an das Frontend weitergegeben werden
  • test/
    • Korrrekt der Sitzverteilung
    • Korrektheit der Überhangmandate
    • Korrektheit der MDB
  • server.py
    • API-Schnittstelle

Benchmarking (/benchmark)

  • locustfile.py
    • Definition des Benchmarks (Wartezeit t und Anfrageverteilung)
  • results/
    • Messreihen

Frontend (/frontend)

Hier liegen sämtliche Dateien und Logik, die für die Visualisierung und Bereitstellung der Webschnittstelle benötigt werden.

Installation

Voraussetzungen

Vorgehen

  • Klone dieses Repository:

git clone https://gitlab.db.in.tum.de/Toemmsche/datenbanken-projekt.git

  • Lege in PostgreSQL eine neue Datenbank an und setze die Umgebungsvariable $DATABASE_URL auf den entsprenden Connection string.
  • Starte das Backend:
cd backend
pip install -r requirements.txt
python waitress_server.py

Nach einer kurzen Initialisierungsphase sollte INFO:waitress:Serving on http://0.0.0.0:5000 ausgegeben werden.

  • Starte das Frontend:
cd frontend
npm install -g @angular/cli
npm install
ng serve

Nach einer kurzen Wartezeit sollte die Benutzeroberfläche unter http://localhost:4200 erreichbar sein.

Testen

Zum Ausführen der Tests wird eine laufende Version der Datenbank benötigt.

cd backend
pip install -r requirements.txt
export $DATABASE_URL=(connection_string)
python -m unittest test/*.py

Made by Tom & Felix

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published