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]
|
||||
> 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...
|
||||
*AI note*: the old README used to be AI generated. This is no longer the case, and all the code in this
|
||||
project is 100% human-written.
|
||||
|
||||
---
|
||||
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:
|
||||
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.
|
||||
The City Portal is adaptable to different scenarios: by customizing the different datasets that the server stores and that data can be stored into,
|
||||
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 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.
|
||||
|
||||
## 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.
|
||||
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
|
||||
of the Portal.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue