Coder Social home page Coder Social logo

radlnavi's Introduction

radlnavi.de

This project has the code basis for frontend and backend of radlnavi.de. A webpage for regional bike navigation in and around Munich. The routing algorithm takes into account the class:bicycle information given by OpenStreetMap and navigates preferably via good rated route segments.

Routing is done via the backend service and uses the rules and speeds given in the bike.lua file.

The frontend service interacts with the user and also features an overlay of the different route segments that have been annotated with class:bicycle. Therefor, the script load_munichways.mjs needs to be executed, while development or eventually, when a new version of the frontend is build via docker.

Development

You need to have Docker setup on your system and all the given tooling has only been tested on a Ubuntu/Linux system.

To test the frontend only, use npm run start from the frontend folder. When you want to test a new frontend together with backend/routing changes, then use the build_and_run_locally.sh. This command will build new frontend and backend images and spin them up in new containers. Access the frontend via https://localhost:9966.

Release

Each service (frontend and backend) have their own build.sh script that builds the respective docker container. The full system can be build via the root build.sh script. Since currently the webpage is hosted via Google's Cloud Run service, whenever new images are built, these need to be pushed to the Cloud Run registry and deployed via the Google Cloud Console.

radlnavi's People

Contributors

floschnell avatar thomas-munichways avatar

Stargazers

Lars Schwarz avatar  avatar  avatar

Watchers

Sven avatar  avatar  avatar

radlnavi's Issues

Route immer blau umrandet anzeigen

Problem: schwarze Ränder sehen etwas nach "sehr stressig" aus und kann den Nutzer verwirren bzw. erschrecken.

Ist:
Die berechnete Route wird manchmal komplett in blau gezeigt, manchmal mit den MunichWays Farben plus blaue Rändern / Seitenlinien, manchmal mit schwarzen Seitenlinien.

Klick Story:

  • Start und Ziel auswählen:
    • Route wird berechnet
    • Anzeige in MunichWays Farben mit schwarzen Rändern
  • Button "Navigation starten"
    • Anzeige komplett in blau ohne MunichWays Farben!
  • Route anders fahren und Button "Route neu berechnen" klicken
    • Anzeige in MunichWays Farben mit schwarzen Rändern
      Soll:
      Route immer mit den MunichWays Farben plus blauer Seitenlinien anzeigen.

Bewertungen beim Start anzeigen

  • "MunichWays Bewertungen" umbenennen in "Bewertungen" (ist ja jetzt OSM class:bicycle)
  • "MunichWays" stattdessen im Header hinzufügen, z.B. als zweite Zeile unter RadlNavi, vielleicht mit Link zur Homepage
  • Bewertungen beim Start anzeigen (Unique Selling Point unsere von RadlNavi)
  • Zoom Stufe beim Start größer, damit Straßennamen sichtbar sind und ggf. die Ladezeit schneller ist.

Route zu dieser Position nicht möglich

Problem: Wenn die Bewertungen eingeschaltet werden, geht rechte Maustaste bzw. lange drücken auf Handy nicht mehr um "Route zu dieser Position", "Route von hier" angeboten zu bekommen.

intensiveres grün verwenden

Problem:
grüne Strecken sind nicht so gut sichtbar, wenn der Abschnitt auf der berechneten Route angezeigt wird.

Image

Lösung:
intensiveres grün verwenden, zum Beispiel Hex 0xff27f5a5 (Hex-Code (Webfarbe): #27f5a5, RGB: rgb(39, 245, 165)

Hier die Farben, die wir in der MunichWays App nach vielen versuchen ausgewählt haben:
MunichWays App
class AppColors {
static const munichWaysBlue = Color(0xff61A1D8);
static const mapBlack = Colors.black;
static const mapGreen = Color(0xff27f5a5);
static const mapYellow = Color(0xfffbba00);
static const mapRed = Color(0xfff44336);
static const mapGrey = Color(0xff9c9d9f);

Karte auf Handy nicht sichtbar

Problem: Im Standard Hochkantmodus ist die Karte auf dem Handy nicht sichtbar und auch nicht ansteuerbar. Es fehlt eine Möglichkeit die Editierleist ein und auszublenden. Wieder einblenden geht schon im Navigationsmodus aber ausblenden geht nicht.
Lösung:

  • Ausblende Button hinzufügen, z.B. oben rechts in der weißen Editierleiste

Ziele merken

die letzten 20 Ziele merken oder verwendete Ziele eine Zeit lang merken (360 Tage?) und in der Auswahl bei Start und Ziel anbieten.
Die zuletzt verwendeten Orte immer zuerst anzeigen

Ein Klick Bedienung

Ziel ist die möglichst einfache Bedienung per Handy am Fahrrad für die Haupt Use Cases.
Ziel auswählen - losfahren - entspannt ankommen 👍

User Story Navigation vom aktuellen Standort zum gewählten Ziel:

  • radlnavi.de öffnen
  • Karte erscheint mit mittlerem Zoom auf die aktuelle Position
  • aktuelle Position ist im Hintergrund schon als Startpunkt vorausgewählt
  • MunichWays/OSM Bewertungen sind sichtbar
  • Eingabefeld "Ziel" ist sichtbar (z.B. oben rechts auf der Karte)
  • Hauptmenü/Eingabeleiste ist ausgeblendet (Einblendbutton oben links sichtbar)
  • a) User drückt mit dem Finger auf sein Ziel
  • b) User gibt sein Ziel im Eingabefeld ein
  • Auswahl erscheint: "Navigation starten", "Route anzeigen"
  • Alle bisherigen Optionen sind unverändert möglich durch einblenden des Hauptmenüs / der Editierleiste

Image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.