Skip to content

📂 File Structure

project/
├── .github/                 # GitHub specific files
│   ├── workflows/               # GitHub Actions workflows
│   └── release.yml              # Categories and labels for release notes
├── .vscode/                 # VSCode specific files
│   ├── extensions.json          # Recommended extensions for the workspace
│   └── settings.json            # Common VSCode settings for the workspace
├── docs/                    # Documentation of this project
│   ├── assets/                  # Assets for documentation (images, videos, styles, etc.)
│   ├── diagrams/                # Diagrams related to the project
│   ├── pages/                   # Markdown pages for documentation
│   ├── references/              # References related to the project
│   ├── reports/                 # Reports generated from results
│   └── README.md                # Documentation README
├── examples/                # Example source codes
├── requirements/            # Dependency requirements for different environments
├── scripts/                 # Helpful scripts
├── src/                     # Main codebase directory
│   ├── api/                        # Main API directory
│   │   ├── __init__.py             # Initialize the api module
│   │   ├── __main__.py             # Main entry point for the api
│   │   ├── __version__.py          # Version of the api
│   │   ├── config.py               # Main configuration
│   │   ├── exception.py            # All exception handlers will be registered here
│   │   ├── lifespan.py             # Lifespan events (startup, shutdown)
│   │   ├── logger.py               # Initialize the logger
│   │   ├── middleware.py           # All middlewares will be registered here
│   │   ├── router.py               # All routers will be registered here
│   │   └── server.py               # Main FastAPI application
│   ├── assets/                  # Assets for the codebase
│   ├── configs/                 # Configuration files
│   ├── locale/                  # Localization files
│   ├── __init__.py              # Initialize the codebase
│   └── main.py                  # Main entry point
├── templates/               # Template files
├── tests/                   # Tests for the project
│   ├── __init__.py          # Initialize the test module
│   ├── conftest.py          # Presets for pytest (e.g. fixtures, plugins, pre/post test hooks, etc...)
│   ├── test_main.py         # Test case files
│   └── ...
├── volumes/                 # Persistent storage volumes
├── .dockerignore            # Docker ignore file
├── .editorconfig            # Editor configuration
├── .env.example             # Example environment variables file
├── .gitignore               # Git ignore file
├── .markdownlint.json       # Markdown linting rules
├── CHANGELOG.md             # Project change log
├── compose.sh               # Docker compose script
├── compose.yml              # Docker compose configuration
├── Dockerfile               # Docker image definition
├── environment.yml          # Conda environment file
├── LICENSE.txt              # Project license
├── Makefile                 # Automation commands
├── mkdocs.yml               # MkDocs configuration
├── pm2-process.json.example # PM2 process file example
├── pytest.ini               # Pytest configuration
├── README.md                # Main README
└── requirements.txt         # Python requirements