Zum Inhalt

Installations-Anleitung

Diese Anleitung erklärt, wie Sie die MyCyclingCity Entwicklungsumgebung einrichten.

Voraussetzungen

  • Python 3.11 oder höher
  • pip (Python Package Manager)
  • Git
  • Virtuelle Umgebung (empfohlen)

Schnellstart (Empfohlen)

Für ein automatisches Setup verwenden Sie das Setup-Script:

git clone https://github.com/codeforberlin/mycyclingcity.git
cd mycyclingcity/mcc-web
./scripts/setup_dev.sh

Das Script führt automatisch alle notwendigen Schritte aus: - Erstellt die virtuelle Umgebung - Installiert alle Abhängigkeiten - Erstellt erforderliche Verzeichnisse (logs, tmp, data/db, etc.) - Erstellt/konfiguriert die .env Datei - Führt Datenbank-Migrationen aus - Erstellt optional einen Superuser - Sammelt statische Dateien

Optionen: - --skip-venv: Überspringt die Erstellung der virtuellen Umgebung - --skip-superuser: Überspringt die Superuser-Erstellung - --skip-static: Überspringt das Sammeln statischer Dateien

Manuelle Installation

Falls Sie die Installation manuell durchführen möchten:

Schritt 1: Repository klonen

git clone https://github.com/codeforberlin/mycyclingcity.git
cd mycyclingcity

Schritt 2: Python Virtuelle Umgebung einrichten

Option A: Projekt-lokale Virtuelle Umgebung (Empfohlen)

cd mcc-web
python3 -m venv venv
source venv/bin/activate  # Unter Windows: venv\Scripts\activate

Option B: Externe Virtuelle Umgebung

Für Entwicklung auf verschiedenen Systemen mit unterschiedlichen Python-Installationen (z.B. NAS-Server):

# Virtuelle Umgebung im Home-Verzeichnis erstellen
python3 -m venv ~/venv_mcc
source ~/venv_mcc/bin/activate

Schritt 3: Abhängigkeiten installieren

cd mcc-web
pip install --upgrade pip
pip install -r requirements.txt

Erforderliche Pakete

  • Django==5.2.9
  • requests==2.32.5
  • gunicorn==23.0.0
  • gpxpy==1.6.2
  • pillow==12.0.0
  • python-decouple==3.8
  • python-dotenv==1.0.0
  • pytest==8.0.0
  • pytest-django==4.8.0
  • factory-boy==3.3.0
  • qrcode[pil]==7.4.2

Schritt 4: Umgebungsvariablen konfigurieren

Entwicklung: Erstellen Sie eine .env Datei im mcc-web/ Verzeichnis:

cp .env.example .env  # Falls Beispiel vorhanden
# Oder manuell erstellen

Produktion: Die .env Datei liegt außerhalb der Software in /data/appl/mcc/.env

Mindestens erforderliche Variablen:

SECRET_KEY=ihr-geheimer-schlüssel-hier
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1

Hinweis: In Entwicklungsumgebungen kann die .env Datei individuell konfiguriert sein, da die Anwendung relativ im Projektverzeichnis alle Informationen findet.

Schritt 5: Datenbank-Migrationen ausführen

python manage.py migrate

Schritt 7: Superuser erstellen (Optional)

python manage.py createsuperuser

Schritt 8: Statische Dateien sammeln

python manage.py collectstatic

Schritt 9: Entwicklungsserver starten

python manage.py runserver

Zugriff auf die Anwendung: - Admin: http://127.0.0.1:8000/admin - Spiel: http://127.0.0.1:8000/de/game/ - Karte: http://127.0.0.1:8000/de/map/

Überprüfung

Um die Installation zu überprüfen:

  1. Prüfen Sie, dass der Server ohne Fehler startet
  2. Zugriff auf das Admin-Interface unter /admin
  3. Tests ausführen: pytest api/tests/

Fehlerbehebung

Import-Fehler

  • Stellen Sie sicher, dass die virtuelle Umgebung aktiviert ist
  • Überprüfen Sie, dass alle Abhängigkeiten installiert sind: pip list
  • Prüfen Sie die Python-Version: python --version (sollte 3.11+ sein)

Datenbank-Fehler

  • Stellen Sie sicher, dass SQLite verfügbar ist (in Python enthalten)
  • Prüfen Sie die Dateiberechtigungen für data/db.sqlite3
  • Migrationen ausführen: python manage.py migrate

Statische Dateien werden nicht geladen

  • Führen Sie python manage.py collectstatic aus
  • Prüfen Sie STATIC_ROOT in config/settings.py
  • Überprüfen Sie DEBUG=True in der Entwicklung

Nächste Schritte