Project Structure Reference¶
This section describes the standard folder and file structure used across the project, including documentation, operational assets, and domain-specific resources.
docs/ # Central documentation hub for the entire project
βββ about.md # [Required] About section with public/private links to technical and functional documentation, ownership info
β | # All code in production must be documented, at least including the location of its repository (Azure DevOps / Github).
β | # The about.md content must be exposed through a runtime-accessible endpoint or page,
β | # enabling identification of the component, ownership, repositories, and documentation links.
βββ app/ # main folder.
β βββ common/ # Common Layer class library.
β β βββ constants.py # Definition of global variables.
β β βββ messages.py # System messages to be used by all methods.
β βββ core/ # Definition of base configurations.
β β βββ config.py # Defining environment variables as loading environment variables.
β βββ routers/ # The path operations related to your users separated from the rest of the code, to keep it organized.
β β βββ default.py # Method for responding to a 200 request without taking any action or displaying the information about.
β β βββ health.py # Methods to monitor health behavior.
β β βββ redis.py # Methods to monitor redis.
β β βββ task.py # Methods to crud tasks.
β βββ services/ # Controller Layer / Business logic (including CRUD helpers).
β β βββ constants.py # Definition of global variables.
β β βββ health.py # Health rules.
β β βββ redis.py # Methods to monitor redis.
β β βββ task.py # Methods to crud tasks.
β
βββ DataEngineer/ # Data management, schemas, and their rollback.
β βββ migrations/ # Logical and conceptual system architecture
β β βββ backup.sh # Backup script console or SQL
β β βββ restore.sh # Restore script console or SQL
β βββ seeds/ # Initial data
β β βββ init-db.sh # Script to load baseline seed data
β βββ reference-architecture.md # Reference patterns, principles, and architectural decisions
β
βββ overview/ # High-level and stable documentation (architecture-focused)
β βββ architecture.md # Logical and conceptual system architecture
β βββ reference-architecture.md # Reference patterns, principles, and architectural decisions
β
βββ guides/ # Practical, step-by-step guides for using and operating the project
β βββ getting-started/ # Initial setup guides for environments and systems
β β βββ os-package-managers.md # OS/Docker/VM package installation and base system dependencies
β β
β βββ software-development/ # Local development, build, and testing workflows
β βββ vscode.md # VSCode extensions, settings, and workspace configuration
β βββ launch-and-debug.md # launch.json, debugging profiles, and local execution configs
β βββ local-scripts.md # PowerShell/Bash scripts to build, test, and run locally
β
βββ troubleshooting/ # Operational issue resolution and diagnostics
β βββ logging.md # Logging strategy, log levels, correlation IDs, and troubleshooting guidance
β
βββ governance/ # Project-wide rules, standards, and policies
β βββ license.md # Explanation of the project license and usage constraints
β βββ contributing.md # Contribution rules, PR process, and development workflow
β βββ nomenclature-conventions.md # Official naming conventions for files, folders, and artifacts
β βββ technology-lifecycle.md # Every component MUST declare its Technology Lifecycle
β
βββ files/ # Binary and visual assets referenced by documentation
β βββ architecture.pdf # Exported architecture diagrams (read-only)
β βββ architecture.drawio # Editable architecture diagrams (source files)
β
βββ Ops/ # Binary and visual assets referenced by documentation
β βββ docker-and-semantic-versioning.md # Docker usage guidelines and semantic versioning strategy
β βββ docker-compose.yml # Main Docker Compose configuration file
β
βββ.dockerignore # Docker ignore rules
βββ.env # Local environment variables (never committed)
βββ.env.sample # Environment variable template
βββ.gitignore # Git ignore rules
βββ CHANGELOG.md # Versioned log of notable changes.
βββ entrypoint.sh # Defining the executable that the container will use.
βββ main.py # Startup code.
βββ README.md # Entry point for documentation; explains structure and where to start by role