Online-Marktplatz Praktikum
Dieses Verzeichnis enthält die Codebasis und Dokumentation für das Praktikum im Modul Algorithmik.
Downloads
- 📦 ILU-Kurswebseite Algorithmik — Die ZIP-Datei
marketplace.zip(Startercode für das Praktikum) kann auf der ILU-Kurswebseite heruntergeladen werden.
Projektübersicht
Der Online-Marktplatz ist eine Python-Anwendung mit einer Tkinter-GUI, die Kernkonzepte aus Datenstrukturen und Algorithmen demonstriert (Mengen, Trees, Heaps, Hashtabellen, Graphen etc.).
Installation und Abhängigkeiten
Das Projekt benötigt Python (>= 3.11) sowie externe Bibliotheken wie osmnx für geografische Distanz- und Routenberechnungen. Sie können die Abhängigkeiten entweder über pip oder über eine Anaconda/Conda-Umgebung installieren.
Option 1: Installation über Pip
- Stellen Sie sicher, dass Python 3.11 oder neuer installiert ist.
- Installieren Sie die erforderlichen Pakete mit
pip:
pip install -r requirements.txt
Alternativ können Sie das Paket im Editier-Modus installieren:
pip install -e .
Option 2: Installation über Anaconda / Conda
Falls Sie Anaconda oder Miniconda verwenden, können Sie die bereitgestellte environment.yml nutzen:
- Erstellen Sie die Conda-Umgebung:
conda env create -f environment.yml
- Aktivieren Sie die Umgebung:
conda activate marketplace
Aufgabenstellung und Dokumentation
Die vollständige Aufgabenstellung sowie Beschreibungen zu allen drei Teilprojekten finden Sie im Ordner docs/:
- Aufgabenstellung Übersicht
- GUI Benutzerhandbuch (User Manual)
- Teilprojekt 1: Projektanalyse und Verständnis
- Teilprojekt 2: Erweiterung der Artikel- und Auktionsverwaltung
- Teilprojekt 3: Freundesverwaltung, Gebotsagenten und Empfehlungssystem
Anwendung starten
Um die Anwendung zu starten, führen Sie im entpackten Ordner marketplace (dort liegen auch user.csv, friends.csv und auctions.csv) folgenden Befehl aus:
python gui_marketplace.py
Standardmäßig können Sie sich mit Ihrer GM-ID und dem Passwort abcde anmelden.
Tests ausführen
Eigene Unit-Tests für Ihre Implementierungen können Sie im Ordner tests/ anlegen (Dateinamen test_*.py) und mit pytest ausführen:
pytest tests/