🧱 Wiki: Add Architecture Overview page with pipeline module breakdown

2025-08-04 19:19:00 -07:00
parent 54f9c1c865
commit 372b759f04

138
Architecture-Overview.md Normal file

@ -0,0 +1,138 @@
\# 🧱 Architecture Overview
This page explains the modular architecture of the \*\*LCS Video Pipeline\*\*, covering key components, data flow, and extensibility.
---
\## 🧩 Core Modules
Each component is designed to be loosely coupled and highly testable:
\### 1. `main.py`
\* Entry point
\* Discovers session folders and orchestrates processing
\### 2. `modules/`
Contains reusable components:
\* `render\_engine.py`: Applies intros/outros and overlays
\* `title\_utils.py`: Generates dynamic title cards
\* `thumbnail\_utils.py`: Creates brand-compliant thumbnails
\* `yt\_poster.py`: Uploads to YouTube
\* `pt\_poster.py`: Uploads to PeerTube (WIP)
\* `description\_gen.py`: Creates OpenAI-based video descriptions
\* `date\_utils.py`, `config.py`: Environment and date helpers
---
\## 🔄 Data Flow
```plaintext
\[raw clips] → \[montages/, hits/, etc.] → main.py → render\_engine → final.mp4 → yt\_poster
```
All clip metadata (e.g., `notes.json`) is parsed and tracked alongside rendered files.
---
\## 🧰 Tooling \& Configuration
\* \*\*`.env`\*\*: Stores API keys and client secrets (excluded from Git)
\* \*\*`config.py`\*\*: Centralized paths, flags, and constants
\* \*\*`logs/`\*\*: Execution logs, status, and failures
\* \*\*`tests/`\*\*: Pytest-based functional coverage
\* \*\*`video-pipeline.wiki/`\*\*: Markdown wiki repo (submodule)
---
\## 🚧 Extensibility
\* Add new platforms (e.g., TikTok) via new `poster\_\*.py`
\* Add formats (e.g., square, cinematic) by enhancing `render\_engine.py`
\* Add more metadata (e.g., voice notes) by expanding `notes.json` parser
---
\## 🧠 Design Philosophy
\* \*\*Single responsibility per module\*\*
\* \*\*Declarative configuration\*\*
\* \*\*E2E traceability via metadata\*\*
\* \*\*Fun, brand-forward visual output\*\*
---
\*Last updated: 2025-08-04\*