Eine interaktive Variante des Angebotskataloges 'Bildung für nachhaltige Entwicklung' der Stadt Magdeburg
Dieses Projekt bietet eine interaktive Webanwendung für den Angebotskatalog 'Bildung für nachhaltige Entwicklung' der Stadt Magdeburg. Es ermöglicht Benutzern, Bildungsangebote durchsuchen, filtern und anzeigen zu können.
- Backend: Python FastAPI
- Datenbank: MariaDB
- Frontend: HTML/CSS/JavaScript (im
publicOrdner) - Containerisierung: Docker & Docker Compose
├── backend/ # FastAPI Anwendung
│ ├── app/ # API Endpunkte und Logik
│ ├── public/ # Statische Frontend-Dateien
│ ├── Dockerfile # Backend Container Konfiguration
│ └── requirements.txt # Python Abhängigkeiten
├── database/ # Datenbankschema und Initialisierung
├── docker-compose.yml # Komplett-Umgebungskonfiguration
└── README.md # Diese Datei
- Docker und Docker Compose
- Git
-
Repository klonen:
git clone <repository-url> cd bne_angebotskatalog_magdeburg
-
Erstelle eine
.envDatei basierend auf.example.envund passe die Werte an:cp .example.env .env # Bearbeite .env mit deinen gewünschten Werten -
Umgebung mit Docker Compose starten:
docker-compose up -d
-
Auf die Anwendung zugreifen:
- API: http://localhost:8000
- Frontend: http://localhost:8000/public
Das Backend läuft auf Port 8000 mit automatischem Reload bei Änderungen.
API Dokumentation:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Die MariaDB-Datenbank ist nur vom Backend-Container aus erreichbar. Externer Zugriff ist deaktiviert für Sicherheitszwecke.
Zugangsdaten werden über Umgebungsvariablen konfiguriert. Standardwerte:
- Host: db (Docker Service Name)
- Datenbank: app_db
- Benutzer: app_user
- Passwort: (definiert in .env Datei)
/api/institutions- Institutionen abrufen/api/offers- Bildungsangebote abrufen/health- Systemstatus prüfen
Um die Container zu stoppen:
docker-compose downUm die Container neu zu bauen und zu starten:
docker-compose up --build