Skip to content

PopUpSim MVP - Architecture Documentation

Overview

This documentation describes the MVP (Minimum Viable Product) architecture of PopUpSim.

MVP Scope: Desktop application with file-based configuration, SimPy simulation engine, and Matplotlib visualization.

Architecture Documentation

  1. Introduction and Goals - Stakeholders, quality goals, requirements overview
  2. Constraints - Technical and organizational constraints
  3. Context and Scope - System boundaries and external interfaces
  4. Solution Strategy - Technology decisions and architecture approach
  5. Building Blocks - System decomposition (3 bounded contexts, Level 2 & 3)
  6. 5a. Level 3 Implementation Details - Complete implementation architecture
  7. Runtime View - Key scenarios and use case flows
  8. Deployment View - Infrastructure and deployment
  9. Cross-Cutting Concepts - Domain model, error handling, logging
  10. Architecture Decisions - ADRs for key technology choices
  11. Quality Requirements - Quality scenarios and metrics
  12. Risks and Technical Debt - Known risks and debt
  13. Glossary - Domain and technical terms
  14. Bibliography - References and resources

Key Architecture Characteristics

  • 4 Bounded Contexts: Configuration, Retrofit Workflow, Railway Infrastructure, External Trains
  • Layered Architecture: Clean separation within each context
  • Technology Stack: Python 3.13+, SimPy, Pydantic, Matplotlib
  • Deployment: Desktop application (local execution)
  • Data Storage: File-based (JSON/CSV)
  • Integration: Direct method calls (synchronous)