Edited content version 188
Individuelle Berner-Stadtspaziergänge
(04) Klicke dir deinen Spaziergang zusammen!
Challenge
Was?
- User*in wählt ein oder mehrere Stationen aus verschiedenen POI-Kategorien aus.
- User*in wählt Mobiltitätsform(en), die für sie/ihn in Frage kommen (zu Fuss, Fahrrad, ÖV, Kombination).
- Die Anwendung schlägt ihr/ihm die geeignetste Route und Verkehrsmittel vor.
- Die Route wird auf einer Karte dargestellt.
Darfs noch ein bisschen herausfordernder sein?
- Route in einem Navigationsmodus darstellen ("nach 40 m rechts abbiegen, dann..." + user-zentrierte Kartenansicht)
- Mobilitätsform Fahrrad resp. Kombination berücksichtigt Veloverleihsystem (PubliBike)
Warum?
Gängige Navigationsapps erfordern eine aufwändige Eingabe von Start, Ziel, gewünschten Zwischenstationen und Mobilitätsformen. Faktisch bestimmt oft der/die User*in die Route durch die Reihenfolge der Stationen. Die gesuchte Anwendung nimmt dem/der User*in diese Schritte ab und schlägt die optimale Route und Verkehrsmittel direkt vor.
Wer hat etwas davon?
Sämtliche Besucher*innen der Stadt, die ein oder mehrere Stationen in der Stadt besuchen möchten, den optimalen Weg/Verkehrsmittel jedoch nicht kennen.
Erwartung?
Funktionierender Prototyp einer entsprechenden Web-Anwendung, der Eingabe der gewünschten Stationen und Verkehrsmittel zulässt und anschliessend einen Routenvorschlag vornimmt und ggf. einen Navigationsmodus beinhaltet.
und/oder:
Generierung entsprechender Files (.gpx, .geojson, ...) zur Integration in weitere Applikationen.
Wie könnte es nach den Hackdays weitergehen?
- Gemeinsame Weiterentwicklung / Ausbau (Details tbd)
- Integration in Internet-Stadtplan der Stadt Bern (www.bern.ch/stadtplan)
- Integration in Bern Welcome App (https://www.bern.com/de/bw-app)
Daten und Tools
- POI (Points of Interest) Bern Welcome und Stadt Bern: https://map.bern.ch/download/Hackdays_SampleData.zip (.csv, .fgdb, .gpkg)
- Routing Service: bspw. Open Source Routing Machine (OSRM): http://project-osrm.org/
- Haltestellen ÖV (https://opentransportdata.swiss/de/
- PubliBike Standorte (https://opendata.swiss/de/dataset/standorte-und-verfugbarkeit-von-shared-mobility-angeboten)
- Mapservices Hintergrundkarten: bspw. https://opendata.swiss/de/organization/geoinformation-der-stadt-bern/?keywords\_de=stadtplan (WMS / WMTS)
- Neue POI: 📎 POIStadtBernBernWelcomeSampleEPSG4326.csv
indiv-berner-rundgaenge
To install all the dependencies, run the script:
./setup.sh
Architecture
Frontend
The frontend is an angular single page application.
It needs a build step for two reasons:
- To turn the angular code into a bundle that can be served by a web server
- To turn typescript code into pure javascript code that runs in the browser
To start it, do the following:
cd frontend
npm run start
Backend
The backend is a nest node application.
It needs a build step to transpile typescript into javascript.
To start it, do the following:
cd backend
npm run start:dev # will also start a mongo database in a docker container
Database
The database is a mongo database accessed by the backend.
Distribution
The provided dockerfile builds the frontend and backend and generates one image which will run both.
The following environment variables can be provided at runtime:
PRODUCTION
: Can betrue
orfalse
. Sets some prod specific things and makes seeding impossible.SEED_MONGO
: Can betrue
orfalse
. Whether to seed the mongo database.MONGO_URL
: A string, should be a mongodb connection uri.MONGO_DB
: A string, should be the name of the database to use.PORT
: A number, the port to use instead of the default 3000.API_PREFIX
: An optional prefix for the backend api. Defaults to/api
.
Deployment
The provided docker compose file is an example for how to deploy the application.
Event finished
Edited content version 186
Edited content version 183
Edited content version 181
Deployment-Versuch ist im Gange, Plan B mit Folien ist in Arbeit
added seed (@mauriziopiu)
Analyse
Unsere Seite verfügt nun auch über Bilder ;-)
updated endpoint to support findById for poi data (@mauriziopiu)
added intermediary findById backend (@mauriziopiu)
Analyse
Edited content version 173
Edited content version 171
add frontend logic retrieve single poi for infobox (@mauriziopiu)
added poi-infobox component (@mauriziopiu)
Analyse
Der zweite Tag hat gestartet, wir sind alle motiviert und schon wieder voll in der Arbeit drin.
Backend Call zu OSRM API mit Mapping zu Dto, welches im Frontend für die Darstellung auf der Karte verwendet werden kann.
Merge pull request #4 from kerriestauffer/backend-endpoints-alexis
Backend endpoints alexis (@alstr-a)
Merge branch 'main' of https://github.com/kerriestauffer/indiv-berner-rundgaenge into backend-endpoints-alexis (@AlexisSt)
refactor trips endpoint (@AlexisSt)
Merge pull request #3 from kerriestauffer/backend-endpoints-alexis
Backend endpoints alexis (@alstr-a)
custom dto für antwort von osrm api (@AlexisSt)
Clean
Die Logik bekommt immer wie mehr Funktionalität und auch die Gestaltung verändert sich immer wieder. Bald gibt es Feierabend :-)
Merge branch 'main' of https://github.com/kerriestauffer/indiv-berner-rundgaenge into backend-endpoints-alexis (@AlexisSt)
app module (@AlexisSt)
Clean
Die Homepage ist nahezu ready :) Die POIs werden vom Backend erhalten, dargestellt und können von Usern ausgewählt werden.
merge (@mauriziopiu)
Merge branch 'main' into basic-frontend-structure (@mauriziopiu)
Merge branch 'main' of github.com:kerriestauffer/indiv-berner-rundgaenge into main (@kerriestauffer)
feat: add POI list for map view (@kerriestauffer)
minor style update (@mauriziopiu)
added walk request button (@mauriziopiu)
Merge pull request #2 from kerriestauffer/backend-endpoints-alexis
Backend endpoints alexis (@dominiwe)
Merge branch 'main' of https://github.com/kerriestauffer/indiv-berner-rundgaenge into backend-endpoints-alexis (@AlexisSt)
minor style update (@mauriziopiu)
Call auf OSRM API (@AlexisSt)
added selection feedback to cards (@mauriziopiu)
change map size (@dominiwe)
display chosen POIs (@mauriziopiu)
added expansion panels for categorized data (@mauriziopiu)
Clean
Aktueller Stand der Hauptansicht.
feat: make map markers work (@kerriestauffer)
Clean
Visualisierung eines erstellten Stadtrundgangs im Frontend mit POI funktioniert mit Dummy Daten :)
minor style update (@mauriziopiu)
added categorized data to interface (@mauriziopiu)
added categorized data (@mauriziopiu)
updated grid styling (@mauriziopiu)
Merge branch 'basic-frontend-structure' of github.com:kerriestauffer/indiv-berner-rundgaenge into basic-frontend-structure (@mauriziopiu)
feat: display dummy route on map (@kerriestauffer)
Merge branch 'main' of github.com:kerriestauffer/indiv-berner-rundgaenge into main (@kerriestauffer)
deleted unused list (@mauriziopiu)
basic style update (@mauriziopiu)
included pictures in cards (@mauriziopiu)
deleted unused POIdto (@mauriziopiu)
Verify
Im Frontend werden die ersten Texte inkl. Bilder angezeigt. Juhuuu!
Merge branch 'basic-frontend-structure' of https://github.com/kerriestauffer/indiv-berner-rundgaenge into basic-frontend-structure (@nanuEE)
Merge branch 'main' into basic-frontend-structure (@nanuEE)
Merge branch 'main' into basic-frontend-structure (@carole)
Merge branch 'main' of github.com:kerriestauffer/indiv-berner-rundgaenge (@dominiwe)
fix angular envs (@dominiwe)
Merge branch 'main' into basic-frontend-structure
Conflicts:
frontend/src/app/home/home.component.ts (@carole)
POI anzeige (@nanuEE)
removed unnecessary console.log (@carole)
test (@carole)
Merge branch 'main' into data-flow (@mauriziopiu)
Verify
Making the application deployable.
added type to request (@mauriziopiu)
Get
Repository updated
Current tasks:
- User interface in the frontend.
- API Routes in the backend.
- Interfacing with external APIs.
added working poi-data endpoint (@mauriziopiu)
updated environments (@mauriziopiu)
removed hello request (@mauriziopiu)
Find
Edited content version 138
improve readme (@dominiwe)
formatting (@mauriziopiu)
added poi-data endpoint boilerplate (@mauriziopiu)
Find
Die Applikation kann bei allen ausgeführt werden. Teilweise wird ein süsses Bild von einem Hund angezeigt :-) Jetzt gibt es ein Zvieri.
Edited content version 134
Joined the team
setup static serve for prod build (@dominiwe)
Merge branch 'main' into data-flow (@mauriziopiu)
add automatically generated backend api documentation (@dominiwe)
Merge branch 'main' into data-flow (@mauriziopiu)
Merge branch 'main' of github.com:kerriestauffer/indiv-berner-rundgaenge (@dominiwe)
added seed.ts to gitignore (@mauriziopiu)
mongo db connection from backend (@dominiwe)
added seed module (@mauriziopiu)
added testrequest to home (@mauriziopiu)
fixed service names (@mauriziopiu)
Merge branch 'main' of github.com:kerriestauffer/indiv-berner-rundgaenge into main (@mauriziopiu)
minor fixes (@mauriziopiu)
added basic backend communication setup (@mauriziopiu)
Merge branch 'main' of github.com:kerriestauffer/indiv-berner-rundgaenge into main (@kerriestauffer)
Merge pull request #1 from kerriestauffer/add-dockerfile-local
docker compose und build file (@alstr-a)
feat: init map (@kerriestauffer)
Merge branch 'main' into basic-frontend-structure (@mauriziopiu)
adds mobility options form with styling (@mauriziopiu)
adds styling for app component (@mauriziopiu)
setup environment (@dominiwe)
add readme and start script for mongo container (@dominiwe)
Angular Proxy config (@AlexisSt)
added homecomponent and basic routing (@mauriziopiu)
Ask
Github-Repo wurde erstellt, Grundaufbau ist in Arbeit :-)
Merge branch 'main' of https://github.com/kerriestauffer/indiv-berner-rundgaenge into add-dockerfile-local (@AlexisSt)
Merge branch 'main' of github.com:kerriestauffer/indiv-berner-rundgaenge (@dominiwe)
add vs code environment files (@dominiwe)
deleted gitkeep (@mauriziopiu)
docker compose und build file (@AlexisSt)
add setup script (@dominiwe)
initialize backend app (@dominiwe)
initialize frontend app (@dominiwe)
create structure (@dominiwe)
Ask
Teamfindung hat stattgefunden, Aufgaben wurden notiert und werden nun zugeteilt
Initial commit (@kerriestauffer)
Event started
Ask
Joined the team
Edited content version 115
Ask
Beschreibung ergänzt.
Edited content version 98
Joined the team
Edited content version 57
Edited content version 11
Joined the team
Edited content version 8
Joined the team
Edited content version 2
Github-Repo wurde erstellt, Grundaufbau ist in Arbeit :-)