Packages Architecture Overview¶
Status: Canonical Reference Scope:
src/directory architecture
This document provides an overview of the src/ directory structure and the relationships between packages.
Directory Structure¶
src/
βββ codegen/ # Solution skeleton generator (Stateless)
β βββ core/ # Shared core components
β βββ reference/ # Reference skeleton generation
β βββ practice/ # Practice skeleton generation
β
βββ leetcode_datasource/ # LeetCode data layer
β βββ models/ # Data models (Question, ProblemInfo)
β βββ storage/ # Cache and persistent storage
β βββ serialization/ # Data serialization
β βββ fetchers/ # Network layer (pluggable)
β
βββ practice_workspace/ # Practice file management (Stateful)
βββ history.py # History listing
βββ restore.py # Version restore
Package Responsibilities¶
| Package | Role | Stateful? |
|---|---|---|
codegen | Generate solution/practice skeletons | No (Stateless) |
leetcode_datasource | Fetch and cache LeetCode data | Yes (Cache + Store) |
practice_workspace | Manage practice history | Yes (Filesystem) |
Inter-Package Dependencies¶
ββββββββββββββββββββ
β codegen β
ββββββββββ¬ββββββββββ
β uses
βΌ
ββββββββββββββββββββββββββββββ
β leetcode_datasource β
ββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββ
β practice_workspace β (independent, filesystem only)
ββββββββββββββββββββββββββββ
Detailed Specifications¶
For detailed specifications of each package, see:
| Package | Specification |
|---|---|
| codegen | docs/packages/codegen/README.md |
| leetcode_datasource | docs/packages/leetcode_datasource/README.md |
| practice_workspace | docs/packages/practice_workspace/README.md |