Skip to content

PopUpSim Documentation

This directory contains all documentation for PopUpSim, organized by topic.

Documentation Structure

docs/
├── tutorial/              # Step-by-step configuration tutorial
├── mvp/                  # MVP implementation documentation
├── requirements/         # Requirements and use cases
├── adr/                  # Architecture Decision Records
├── ci-cd.md             # CI/CD pipeline documentation
├── DOCS_DEPLOYMENT.md   # Documentation deployment guide
└── DOCS_SETUP.md        # Documentation setup instructions

Quick Navigation

Getting Started

MVP Documentation

Requirements & Use Cases

Architecture Decisions

  • ADR Overview - Performance optimizations and architectural decisions

Architecture Overview

PopUpSim uses a 4 bounded-context architecture (Domain-Driven Design):

Context Purpose Technology
Configuration Input loading & validation Pydantic
External Trains Train arrivals & wagon creation Event publishing
Railway Infrastructure Track capacity & occupancy Domain aggregates
Retrofit Workflow Simulation execution & reporting SimPy, domain services

See MVP Architecture Building Blocks for the detailed context breakdown.

Getting Started

  1. For MVP Development: Start with MVP Architecture
  2. For Requirements: Review Use Cases
  3. For Architecture Decisions: Browse the Architecture Decisions overview

Contributing to Documentation

  • Follow arc42 template for architecture documentation
  • Keep documentation current with code changes
  • Update cross-references when moving or renaming files

Documentation Maintenance

  • Tutorial: Updated when configuration format changes
  • MVP Documentation: Updated during development
  • Cross-References: Maintained manually
  • Navigation: Keep README files current with structure changes