Ein web-basierter Reichweitenrechner für Sur-Ron E-Bikes. Dieses Tool bietet eine einfache Oberfläche zur Schätzung der verbleibenden Reichweite basierend auf dem Akkustand und dem Fahrmodus und enthält einen fortschrittlichen Routenplaner zur Berechnung des Verbrauchs für eine bestimmte Strecke.
Das Projekt ist in zwei Hauptansichten unterteilt: einen einfachen Rechner und einen voll funktionsfähigen Routenplaner.
- Akkustand: Passen Sie den aktuellen Akkustand mit einem Schieberegler und Feinjustierungs-Buttons (+/-) an.
- Fahrmodi: Wechseln Sie zwischen "Sport"- und "Eco"-Modus, um die Reichweitenschätzung zu ändern.
- Leistungsdrossel: Ein Schalter zur Simulation einer auf 90% begrenzten nutzbaren Akkukapazität.
- Persistenz: Die App merkt sich Ihre letzten Einstellungen (Akku, Modus, Drossel) im Browser.
- Multi-Stop-Routen: Planen Sie eine Reise mit einem Startpunkt, einem Endpunkt und beliebig vielen Zwischenstopps.
- Drag & Drop: Ordnen Sie die Haltepunkte einfach per Drag & Drop mit einem dedizierten Griff neu an. Eine kurze Halteverzögerung auf Mobilgeräten verhindert versehentliches Verschieben.
- Detaillierte Berechnungen: Erhalten Sie eine Etappen-genaue Aufschlüsselung der Reise, die die verbleibende Akkuladung bei Ankunft an jedem Stopp anzeigt.
- Rückweg: Berechnet automatisch die direkte Rückfahrt vom letzten zum ersten Punkt und zeigt die endgültige verbleibende Akkuladung an (wird bei Rundreisen ausgeblendet).
- Leistungsstarke Suche: Suchen Sie nach Adressen, Firmennamen oder Sehenswürdigkeiten (POIs).
- Koordinaten-Eingabe: Fügen Sie GPS-Koordinaten direkt in die Eingabefelder ein.
- Aktueller Standort: Verwenden Sie den aktuellen GPS-Standort Ihres Geräts als Startpunkt.
- Favoriten speichern: Speichern Sie jeden beliebigen Ort mit einem benutzerdefinierten Namen (z.B. "Zuhause", "Arbeit").
- Favoriten verwalten: Eine eigene Seite zur Verwaltung Ihrer Favoriten, auf der Sie diese neu anordnen oder löschen können.
- Frontend: HTML5, Tailwind CSS (via CDN), Vanilla JavaScript (ES6+)
- Karten: Leaflet.js
- Routing & Geocoding: OpenRouteService API
- Drag & Drop: SortableJS
- Deployment: Docker & Nginx
Dieses Projekt ist vollständig containerisiert und einfach auszuführen.
- Docker muss installiert sein.
-
Bauen Sie das Docker-Image:
docker build -t sur-ron-range . -
Starten Sie den Docker-Container:
docker run -d -p 8080:80 --name sur-ron-app sur-ron-range
-
Öffnen Sie die App: Die Anwendung ist nun in Ihrem Browser unter http://localhost:8080 verfügbar.
Für eine einfachere Handhabung können Sie das mitgelieferte Skript rebuild.sh verwenden, das die down- und up-Befehle von Docker Compose kombiniert, um die Anwendung neu zu erstellen und zu starten.
./rebuild.sh