× This Challenge was posted 3 years ago

Challenge view

Back to Project

TransparenZRH 🏆

Smart City Zürich. Digitale Transparenz im öffentlichen Raum.

Demo

Winner of the DINAcon 2021 Open Government Award.


{ hacknight challenges }

(a quick challenge for someone to take their first steps as a user...)

(something that one could do once familiar with the project...)

(a challenge for the coders and pro users in the room...)

Pilot Digitale Transparenz im öffentlichen Raum

Daten spielen eine wichtige Rolle in der «Smart City Zürich». Dank ihnen kann beispielsweise die städtische Infrastruktur gezielt und effizient geplant und unterhalten werden. Mittels Sensoren, welche Fahrradfrequenzen, Luftqualität und anderes messen, werden Daten im öffentlichen Raum erhoben.

Mit zunehmender Datensammlung steigt die Bedeutung von Transparenz und Rechenschaftspflicht gegenüber der Öffentlichkeit. Die Stadt Zürich ist diesbezüglich bereits heute aktiv, indem sie viele Daten als «Open Data» veröffentlicht. In diesem Pilotprojekt von Smart City Zürich soll getestet werden, wie zusätzliche Transparenz geschaffen werden kann.

Eine einfache Bildsprache informiert hierbei transparent über die Sammlung von Daten im öffentlichen Raum und deren Verwendung. Sensoren werden mit Piktogrammen und QR-Codes beschriftet. Letztere leiten auf Websites weiter, welche die gesammelten Daten visualisieren und weitere Informationen bieten. Dazu werden ausschliesslich Daten von bereits vorhandenen Sensoren und offenen, frei zugänglichen Behördendaten («Open Data») verwendet.

Vorschau

Developer

Architecture Proof of Concept

PoC tech architecture

  • Frontend
    • SSR via Nuxt.js
    • TailwindCSS
  • Backend (see /api)

For testing and deployment add the following environment variables:

  • API_URL

Main app run and deploy

# clone repository
git clone git@github.com:cividi/TransparenZRH.git

# install dependencies
npm install

# serve frontend and backend with hot reload at localhost:3000
export API_URL=http://localhost:3000/api/v2/
vercel dev # frontent only: npm run dev

# build for production and launch server
npm run build
npm run start

# generate static project
npm run generate

For detailed explanation on how things work, check out Nuxt.js docs.

Aggregated values cache

Some values are pre aggregated and cached in a S3 bucket as publicly readable files. To populate the cache (for production and testing handled via a GitHub Action run 5 min past every hour):

# Virtual environment and dependencies
python3 -m venv venv
. venv/bin/activate
pip install src/requirements.txt

# Set S3 environment variables
export AWS_ACCESS_KEY_ID=<YOUR_S3_ACCESS_ID>
export AWS_SECRET_ACCESS_LEY=<YOUR_S3_SECRET_ACCESS_LEY>
export S3_ENDPOINT_URL=<YOUR_S3_ENDPOINT>

# Run cache updater
python src/aggregators.py

LICENSE

TransparenZRH Copyright (C) 2021 cividi GmbH

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See LICENSE

This content is a preview from an external site.
 
Contributed 3 years ago by loleg for HACKnight 2021
All attendees, sponsors, partners, volunteers and staff at our hackathon are required to agree with the Hack Code of Conduct. Organisers will enforce this code throughout the event. We expect cooperation from all participants to ensure a safe environment for everybody.

Creative Commons LicenceThe contents of this website, unless otherwise stated, are licensed under a Creative Commons Attribution 4.0 International License.