Skip to content

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.

RepositoryLanguageOwnsStatus
demostatics-webPHP / Laravel 11Users, auth, roles, bans, forum, polls, editorial, the report and database tables, the JSON APIShipped
demostatics-pc_applicationRustThe desktop client and all client-side statisticsShipped, pointed at a mock server
demostatics-mobile_applicationTypeScript / ExpoThe phone clientShipped
demostatics-backendThe worker tierNot built — one README, two lines
demostatics-docsAstro / StarlightThis siteShipped

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

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.

Worker Tier

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.

Docs Site

Authoritative project documents are scattered across repositories. This table is the index.

DocumentLocationWhat it is
Founding specificationDemostatics.pdf / Demostatics_TR.pdfThe original product and stack description. The Turkish version is a straight translation, not a longer one
Pitch deckDemostatics_Pitch_Deck.pptxTen slides: problem, solution, product, technology, market, business model, community, vision
Platform roadmapdemostatics-mobile_application/docs/roadmap.mdThe authoritative phased plan, Phases 0–9
JSON API contractdemostatics-web/docs/api-v1.mdThe implemented API, endpoint for endpoint
Stream API contractdemostatics-pc_application/docs/API_CONTRACT.mdThe desktop’s contract v0.2 — decided, not implemented
Desktop architecturedemostatics-pc_application/docs/ARCHITECTURE.mdLanguage decision, target tree with an implemented/planned legend, threading model, nine milestones
StoreContentsWhere
Application databaseUsers, roles, forum, polls, editorial, reports, database itemsdemostatics-web — SQLite in dev, any of MySQL / MariaDB / PostgreSQL / SQL Server in production
World geo storeRegions, subregions, countries, states, citiesExternal, read-only, reached through schema-qualified world.* table names on the same connection
Desktop config and cacheSettings, dock layout, alert rules, last-known snapshotPer-OS platform directories via ds-platform
Mobile tokenThe session bearer tokenDevice 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.