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¶
- Tutorial - Step-by-step configuration guide
- Installation Guide - Installing Python, uv, and PopUpSim
MVP Documentation¶
- MVP Architecture - Complete arc42 architecture for the MVP
- MVP Development Guide - Implementation details and examples
Requirements & Use Cases¶
- Use Cases - User stories and requirements
- Concept Document - Original concept
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¶
- For MVP Development: Start with MVP Architecture
- For Requirements: Review Use Cases
- 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