Skip to main content

Model City

Model City is a full-stack platform for building a city's digital services. A concrete city is not forked from a reference project — it is scaffolded from published platform artifacts (Maven archetypes for the back-end, an npm create-* generator for the front-end) and then customised through well-defined extension points.

This site is the developer documentation for the whole platform.

What a city is made of​

LayerTechnologyHow a city gets it
Front-endNext.js app consuming @modelcity/* npm packagesnpm create model-city-app
Back-endSpring Boot (Java) — microservices or a monolithMaven archetypes
InfrastructureTerraform + AWS (ECS, RDS, ElastiCache, ALB, S3)deploy.sh scripts

The back-end ships two topologies from the same domain code:

  • Microservices — a Eureka registry, an API gateway and one Spring Boot app per vertical (core, engagement, leisure, mobility).
  • Monolith — the same verticals assembled into a single deployable.

The feature verticals are:

  • core — identity, users, roles, citizen onboarding (always present).
  • leisure — events, sports spaces and tourism.
  • engagement — participation (consultations) and security (alerts).
  • mobility — citizen stays/cars and staff ticket/sanction operations.

Documentation sections​

  • Getting started — everything you need to stand up a city from scratch: the external accounts (Auth0, Stripe, Gmail), local services, local mTLS, AWS, and how to scaffold the code base from the archetypes.
  • Front-end — architecture of the Next.js platform packages and the per-city app.
  • Back-end — domain architecture, verticals, persistence, extensibility, observability and i18n.
  • Infrastructure — the Terraform stacks and the deploy workflow on AWS.

Audiovisual walkthrough​

There is an audiovisual walkthrough of the platform made up of 8 videos, each covering one topic. Scan the QR code for the topic you're interested in to watch it

  1. Introduction, repository and documentation
  2. Signing in to Model City
  3. Platform overview
  4. Leisure in Model City
  5. Tourism in Model City
  6. Citizen participation and alerts in Model City
  7. Mobility in Model City
  8. Model City administration
note

The videos are currently only available in Spanish.

Model City audiovisual walkthrough