Big-Link-Man/docs/architecture/source-tree.md

60 lines
2.4 KiB
Markdown

# Source Tree Structure
The project will follow a standard Python monorepo structure to organize the different modules.
```
content-automation-platform/
├── .env.example # Example environment variables
├── .gitignore
├── master.config.json # Master configuration file
├── requirements.txt # Python dependencies
├── README.md
├── main.py # Main CLI entry point
└── src/
├── __init__.py
├── api/
│ ├── __init__.py
│ ├── main.py # FastAPI app instance
│ ├── routes.py # API endpoint definitions
│ └── schemas.py # Pydantic models for API
├── auth/
│ ├── __init__.py
│ └── service.py # Hashing, validation, role checks
├── cli/
│ ├── __init__.py
│ └── commands.py # Click command groups
├── core/
│ ├── __init__.py
│ └── config.py # Config loading and validation
├── database/
│ ├── __init__.py
│ ├── models.py # SQLAlchemy models
│ ├── repositories.py # Concrete repository implementations
│ └── interfaces.py # Abstract repository interfaces
├── deployment/
│ ├── __init__.py
│ ├── strategies/ # Folder for individual cloud strategies
│ └── manager.py # Manages which strategy to use
├── generation/
│ ├── __init__.py
│ ├── service.py # AI API interaction
│ └── rule_engine.py # Content validation rules
├── ingestion/
│ ├── __init__.py
│ └── parser.py # CORA .xlsx file parsing
├── interlinking/
│ ├── __init__.py
│ └── service.py # Link map generation and injection
├── templating/
│ ├── __init__.py
│ ├── service.py # Applies templates to content
│ └── templates/ # Directory for HTML/CSS templates
└── tests/
├── __init__.py
├── conftest.py # Pytest fixtures
├── unit/ # Unit tests for individual modules
└── integration/ # Integration tests for workflows
```