Where Everything Lives
Demostatics is five repositories under github.com/Demostatics. Knowing which one owns
what is the fastest way to avoid putting code in the wrong place.
The five repositories
Section titled “The five repositories”| Repository | Language | Owns | Status |
|---|---|---|---|
demostatics-web | PHP / Laravel 11 | Users, auth, roles, bans, forum, polls, editorial, the report and database tables, the JSON API | Shipped |
demostatics-pc_application | Rust | The desktop client and all client-side statistics | Shipped, pointed at a mock server |
demostatics-mobile_application | TypeScript / Expo | The phone client | Shipped |
demostatics-backend | — | The worker tier | Not built — one README, two lines |
demostatics-docs | Astro / Starlight | This site | Shipped |
What each one owns
Section titled “What each one owns”demostatics-web — the display tier
Section titled “demostatics-web — the display tier”The only implemented server on the platform, and the only identity authority. It owns
accounts, roles, bans, email verification, the forum and polls, editorial content, and the
reports and database_items tables.
It presents two faces over one database and one set of policies: a server-rendered
Blade UI at routes/web.php, and a JSON API at routes/api.php. Its own API documentation
puts it precisely — this is not a second system, it is the same one addressed over JSON.
Its README states the boundary that defines it: this repository does not gather or process anything.
→ Web — Display Tier · JSON API v1
demostatics-pc_application — the desktop client
Section titled “demostatics-pc_application — the desktop client”A Rust Cargo workspace of around twenty crates plus one shippable binary. Deliberately a thick client: the server supplies data, authentication and entitlements, while the user interface and all statistical and mathematical analysis run locally.
→ Desktop — PC Client · Stream Contract v0.2
demostatics-mobile_application — the phone client
Section titled “demostatics-mobile_application — the phone client”An Expo / React Native app and a real client of demostatics-web’s /api/v1. It reads and
writes the same database as the web app, so a post written on the phone is the same record
the web forum shows. It performs no analytics by design.
It is also where the platform-wide roadmap lives, at docs/roadmap.md — written from the
mobile repo because that is where the work lands, though most of its critical path is
server-side.
→ Mobile — Expo Client · Roadmap
demostatics-backend — the worker tier
Section titled “demostatics-backend — the worker tier”A placeholder. One commit, one branch, one tracked file: a README reading “This repo is about worker-pc backends that will operate the system.” No language, no build file, no source.
This is the tier every other document treats as the source of the platform’s data.
demostatics-docs — this site
Section titled “demostatics-docs — this site”An Astro + Starlight static site. No client code, no API calls, no shared authentication — it links out to the marketing site and nothing links back in.
Where the documents live
Section titled “Where the documents live”Authoritative project documents are scattered across repositories. This table is the index.
| Document | Location | What it is |
|---|---|---|
| Founding specification | Demostatics.pdf / Demostatics_TR.pdf | The original product and stack description. The Turkish version is a straight translation, not a longer one |
| Pitch deck | Demostatics_Pitch_Deck.pptx | Ten slides: problem, solution, product, technology, market, business model, community, vision |
| Platform roadmap | demostatics-mobile_application/docs/roadmap.md | The authoritative phased plan, Phases 0–9 |
| JSON API contract | demostatics-web/docs/api-v1.md | The implemented API, endpoint for endpoint |
| Stream API contract | demostatics-pc_application/docs/API_CONTRACT.md | The desktop’s contract v0.2 — decided, not implemented |
| Desktop architecture | demostatics-pc_application/docs/ARCHITECTURE.md | Language decision, target tree with an implemented/planned legend, threading model, nine milestones |
Where the data lives
Section titled “Where the data lives”| Store | Contents | Where |
|---|---|---|
| Application database | Users, roles, forum, polls, editorial, reports, database items | demostatics-web — SQLite in dev, any of MySQL / MariaDB / PostgreSQL / SQL Server in production |
| World geo store | Regions, subregions, countries, states, cities | External, read-only, reached through schema-qualified world.* table names on the same connection |
| Desktop config and cache | Settings, dock layout, alert rules, last-known snapshot | Per-OS platform directories via ds-platform |
| Mobile token | The session bearer token | Device keychain via expo-secure-store |
The world geo store is the dr5hn countries-states-cities dataset. How it is provisioned differs per database driver — see Web — Display Tier.
- Where Things Stand — status per component
- System Map — how they connect