| db | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| podman-compose.yml | ||
| README.md | ||
City Portal - A STEAM Club Project
Note
Everything described underneath is the theoretical goal of the project - certainly not the state it's in, and probably not the state it will ever be in...
Imagine, in the city of the future: a single, unified digital layer connecting every source of urban knowledge. City Portal is that layer - an open, extensible platform where all data, all events, all locations are accessible in one place.
City Portal exposes a GraphQL API that provides free read access to the city’s datasets - from transportation networks to local events, from environmental sensors to cultural archives. Anyone can build on it: dashboards, analytics tools, or public displays that bring the city to life.
Certain data domains (e.g. weather, utilities, public safety) are writable only by authorized city devices, ensuring authenticity to maintain the City Portal's integrity.
Beyond data aggregation, City Portal aims to become a platform for experimentation. Students, researchers, artists, and engineers can collaborate through the same interface to:
- Build interactive maps, visualizing live data feeds
- Integrate IoT sensors and public devices
- Run simulations and predictive models
- Develop mobile or AR applications using open datasets
- Create educational experiences around real urban systems
The project promotes STEAM learning by mixing science, technology, engineering, art, and mathematics into one practical challenge: making cities more understandable, efficient, and inclusive through data.
City Portal is fully open source, community-driven, and designed for adaptability. Each deployment in a different city would form part of a broader network of civic APIs - a group of connected cities, able to exchange verified data to form a digital ecosystem of urban knowledge.
The main mission of City Portal is to be a framework for digital citizenship, where information is treated as a shared resource and every resident, developer, or policymaker can take part in shaping the city’s future.