radeln/README.md
steffen1971 5d967c68b5 Add Radeln ohne Alter ride-coordination demo (Django + HTMX + Leaflet)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 21:20:17 +02:00

1.8 KiB

Radeln ohne Alter — Koordinations-Demo

Schlanke Web-App, die die Rikscha-Fahrten des Projekts Radeln ohne Alter (Saarbrücken-Malstatt) koordiniert — als Ablösung der bisherigen WhatsApp-Gruppe. Dieser Stand ist eine Demo zum Draufschauen und Iterieren, kein Produktivsystem.

Was die Demo zeigt

  • Fahrt-Lebenszyklus als Herzstück: Angefragt → Geplant → Übernommen → Erledigt (löst die WhatsApp-Schwächen Überblick / Historie / Auswertung auf einmal).
  • Rollen mit unterschiedlicher Sicht: Koordination, Pilot, Besteller.
  • Karte (Leaflet + OpenStreetMap): Abholorte als Pins, je Fahrt eine berechnete Route (öffentlicher OSRM-Demo-Server).
  • Rollen-Sichtbarkeit: Pflege-Hinweise sieht nur die zugeteilte Pilot:in bzw. die Koordination.

Stack

Django 6 · server-rendered Templates + HTMX (für Inline-Aktionen) · Leaflet · SQLite · ruff. Bewusst „langweilig" und abhängigkeitsarm.

Lokal starten

python -m venv .venv
.venv/Scripts/python -m pip install -r requirements.txt   # Windows
python manage.py migrate
python manage.py seed_demo
python manage.py runserver

Dann http://127.0.0.1:8000/ öffnen und eine Rolle per Demo-Button wählen (Login ohne Passwort, nur bei DEBUG). Klassischer Login: Nutzer koordinator, felix, anna, pflege, Passwort demo.

Code-Qualität

ruff check .
ruff format .
python manage.py test

Struktur

  • config/ — Projekt (Settings, URLs).
  • rides/ — die ganze Fachlogik:
    • models.py — Datenmodell + Status-Übergänge + Sichtbarkeitsregeln.
    • services.py — Routing (austauschbar: OSRM-Demo → später OpenRouteService/self-hosted).
    • views.py, urls.py, forms.py, templates/, static/.
    • management/commands/seed_demo.py — Demo-Daten.
    • tests/ — Status-Lebenszyklus + Rollen-Sichtbarkeit.