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¶
- Introduction and Goals - Stakeholders, quality goals, requirements overview
- Constraints - Technical and organizational constraints
- Context and Scope - System boundaries and external interfaces
- Solution Strategy - Technology decisions and architecture approach
- Building Blocks - System decomposition (3 bounded contexts, Level 2 & 3)
- 5a. Level 3 Implementation Details - Complete implementation architecture
- Runtime View - Key scenarios and use case flows
- Deployment View - Infrastructure and deployment
- Cross-Cutting Concepts - Domain model, error handling, logging
- Architecture Decisions - ADRs for key technology choices
- Quality Requirements - Quality scenarios and metrics
- Risks and Technical Debt - Known risks and debt
- Glossary - Domain and technical terms
- 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)
Quick Links¶
- Quality Goals - Top 5 quality priorities
- Use Cases - 4 MVP use cases
- Technology Decisions - Key ADRs
- Building Blocks - System structure (4 contexts)
- Glossary - Domain and technical terms