LiarPrincess / Wroclive-server

Real-time public transport in Wrocław. With push notifications for all of the “tree is blocking the road, so the replacement bus was dispatched” events.
Mozilla Public License 2.0
4 stars 0 forks source link
gcp mpk public-transport wroclaw

Wroclive - Real-time public transport in Wrocław

This repository contains sources of server part of Wroclive iOS app.

(Psst… the app itself is also open-sourced!)

Organization and configuration

We use Google Cloud for hosting.

We extensively use their free tier, to keep our hosting costs low. The only thing that we actually pay for is storage for App Engine instances, but this is about 0.20 zł (~$0.05) per month (only the instances in US are free and we chose Frankfurt because of GDPR and latency).

Anyway, this is how it works:

GCP scheme

And this is the push notification pipeline:

GCP notification scheme

App Engine

Firestore

Compute Engine

Cloud Functions

Pub/Sub - following topics need to be created:

Cloud Scheduler

IAM & Admin - following service accounts are used:

Monitoring

Cloud Logging

Error reporting - standard reporting by mail

Additional files

License

Wroclive is licensed under the Mozilla Public License 2.0 license. See LICENSE for more information.