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

2.4 KiB

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