Skip to content

Platform overview

The Municipality Management Platform is a multi-vertical system designed to help municipalities manage various aspects of public services through a unified, configurable platform.

Architecture

Multi-vertical design

The platform is built around independent verticals (modules) that can be enabled or disabled based on each municipality's needs:

Vertical Purpose Target users
Occurrences Citizen issue reporting and resolution Citizens, Staff, Managers
Equipment Municipal asset management Staff, Equipment Managers
Occupancy Public space monitoring Public, Operators, Admins

Shared infrastructure

All verticals share common infrastructure:

  • Municipalities & Departments: Organizational structure
  • User Management: Authentication, roles, permissions
  • Dynamic Forms: Configurable intake forms
  • Workflow Engine: Camunda/Zeebe integration (optional)
  • Geographic Services: PostGIS for location-based features

Key features

For citizens and public

  • Submit reports and requests
  • Track status of submissions
  • View public dashboards (occupancy)
  • Receive notifications on updates

For municipal staff

  • Unified backoffice interface (Django Admin + Unfold)
  • Role-based access control
  • Cross-vertical visibility (if permitted)
  • Response templates and workflows

For administrators

  • Module enablement/disablement
  • Per-municipality configuration
  • Feature flag management
  • Dynamic form builder

Technology stack

Layer Technology
Backend Django 5.x, Django REST Framework
Database PostgreSQL with PostGIS
Frontend Svelte 5 (citizen-facing), Unfold Admin (backoffice)
Caching Redis
Task queue Celery
Workflow Camunda/Zeebe (optional)
Real-time Django Channels (WebSocket)

Deployment flexibility

The platform supports various deployment configurations:

Single-municipality

  • One organization using selected verticals
  • Simplified configuration
  • Direct database access

Multi-municipality

  • Multiple organizations on shared infrastructure
  • Data isolation per municipality
  • Centralized administration

Module selection

  • Enable only needed verticals
  • Reduce complexity and maintenance
  • Add modules as needs evolve

Configuration hierarchy

Platform Settings (global)
└── Module Settings (per vertical)
    └── Municipality Settings (per organization)
        └── Department Settings (per team)
            └── User Settings (per staff member)

Getting started

  1. Platform admin: Start with Reference → Feature flags to understand module options
  2. Municipality admin: Configure your organization in Platform Configuration → Municipalities
  3. Vertical setup: Follow the setup guides for each enabled vertical
  4. Staff onboarding: Use User types to understand role responsibilities

Documentation conventions

Throughout this documentation: - Grounded in code: Each page references actual implementation files - Role-focused: Sections organized by who does what - Practical: Emphasis on how-to over theory - Vertical-agnostic: Platform features documented once, vertical-specific features in their sections