Make a new, non-AI README (none of the code is AI).
This commit is contained in:
parent
81433cee98
commit
319ae13c16
1 changed files with 10 additions and 43 deletions
53
README.md
53
README.md
|
|
@ -1,47 +1,14 @@
|
||||||
# City Portal - A STEAM Club Project
|
# City Portal - A STEAM Club Project (incomplete, this README describes the end goal)
|
||||||
|
|
||||||
> [!NOTE]
|
*AI note*: the old README used to be AI generated. This is no longer the case, and all the code in this
|
||||||
> Everything described underneath is the theoretical goal of the project -
|
project is 100% human-written.
|
||||||
> certainly not the state it's in, and probably not the state it will ever be in...
|
|
||||||
|
|
||||||
---
|
City portal is a local data aggregator: local data is a term I coined to mean data that only matters to a specific geographical community.
|
||||||
|
This can range from weather, to events at the local town hall, to transportation. City Portal provides an open and extendable way to use this data,
|
||||||
|
exposing a GraphQL API that anyone is free to read from, but write access can be restricted.
|
||||||
|
|
||||||
Imagine, in the city of the future:
|
The City Portal is adaptable to different scenarios: by customizing the different datasets that the server stores and that data can be stored into,
|
||||||
a single, unified digital layer connecting every source of urban knowledge.
|
the managers of the Portal can decide what kinds of local data is stored, but still have this data categorized neatly by function.
|
||||||
**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 -
|
Finally, because of its free to read API, the City Portal promotes extension: anyone is free to build ML models, graphs, or visualizations on top
|
||||||
from transportation networks to local events, from environmental sensors to cultural archives.
|
of the Portal.
|
||||||
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.
|
|
||||||
|
|
||||||
## Run locally
|
|
||||||
Use `docker compose` or `podman compose` at the project root. Then, `cd` into `backend/` and
|
|
||||||
type `cargo run`. Cargo is not currently part of the compose as it has to recompile everything every time,
|
|
||||||
which is a massive pain.
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue