feat: update documentation, adjust numbering of arc42 files

This commit is contained in:
2026-05-30 19:51:30 +02:00
parent 29c13edb4d
commit aa0f79fe75
14 changed files with 135 additions and 10 deletions
+68
View File
@@ -0,0 +1,68 @@
# Backend — FastAPI REST API
REST API for authentication, user management, AI generation (text/image/video), and admin operations.
## Tech Stack
| Layer | Choice |
| ----------- | ----------------------------- |
| Framework | FastAPI |
| Database | DuckDB (embedded) |
| HTTP client | httpx (OpenRouter proxy) |
| Auth | JWT (access + refresh tokens) |
| Server | uvicorn |
## Project Structure
```txt
backend/
app/
__init__.py Package init (empty)
main.py FastAPI app — lifespan, CORS, router registration
db.py DuckDB singleton, schema migrations, write lock
dependencies.py Dependency injection (get_current_user, etc.)
models/ Pydantic + DB models
__init__.py
auth.py Auth schemas (login, register, token)
users.py User schemas
ai.py AI generation request/response schemas
routers/ API route handlers
__init__.py
auth.py POST /auth/login, /auth/register, /auth/logout
users.py GET/PUT /users/me, admin user management
admin.py GET /admin/stats, video job admin CRUD
ai.py GET /models
generate.py POST /generate/text, /generate/image, /generate/video
images.py GET/POST /images, /images/<id>/file
models.py Model cache management
services/ Business logic
__init__.py
auth.py Auth logic (password hashing, JWT)
users.py User CRUD
openrouter.py OpenRouter API client
models.py Model listing and cache
video_worker.py Background video generation worker
tests/ pytest suite
Dockerfile Production container
requirements.txt Runtime dependencies
requirements-dev.txt Dev dependencies
```
## Running locally
```bash
cd backend
uvicorn app.main:app --reload --port 12015
```
API docs at [http://localhost:12015/docs](http://localhost:12015/docs).
## Running tests
```bash
pytest backend/tests/
```
## Architecture
See [docs/ARCHITECTURE.md](../docs/ARCHITECTURE.md) for full documentation (arc42 template).
+10 -10
View File
@@ -1,6 +1,6 @@
# Architecture Documentation
This file is the entry point for the architecture documentation of **All You Can GET AI Biz**.
This file is the entry point for the architecture documentation of **ai.allucanget.biz**.
The documentation follows the [arc42 template](https://arc42.org/overview) and is split into 12 section files, each covering a specific aspect of the architecture. Read the sections in order for a full picture, or jump directly to the section most relevant to you.
@@ -8,15 +8,15 @@ The documentation follows the [arc42 template](https://arc42.org/overview) and i
| Section | File | Description |
| ------- | ---------------------------------------------------------------- | ----------------------------------------------------- |
| 1 | [1-introduction-and-goals.md](1-introduction-and-goals.md) | Requirements, quality goals, stakeholders |
| 2 | [2-constraints.md](2-constraints.md) | Technical, organizational, and convention constraints |
| 3 | [3-context-and-scope.md](3-context-and-scope.md) | System boundaries and external interfaces |
| 4 | [4-solution-strategy.md](4-solution-strategy.md) | Fundamental technology and design decisions |
| 5 | [5-building-block-view.md](5-building-block-view.md) | Static decomposition of the system |
| 6 | [6-runtime-view.md](6-runtime-view.md) | Key runtime scenarios and request flows |
| 7 | [7-deployment-view.md](7-deployment-view.md) | Infrastructure and deployment topology |
| 8 | [8-crosscutting-concepts.md](8-crosscutting-concepts.md) | Security, logging, error handling, configuration |
| 9 | [9-architectural-decisions.md](9-architectural-decisions.md) | Architecture Decision Records (ADRs) |
| 1 | [01-introduction-and-goals.md](01-introduction-and-goals.md) | Requirements, quality goals, stakeholders |
| 2 | [02-constraints.md](02-constraints.md) | Technical, organizational, and convention constraints |
| 3 | [03-context-and-scope.md](03-context-and-scope.md) | System boundaries and external interfaces |
| 4 | [04-solution-strategy.md](04-solution-strategy.md) | Fundamental technology and design decisions |
| 5 | [05-building-block-view.md](05-building-block-view.md) | Static decomposition of the system |
| 6 | [06-runtime-view.md](06-runtime-view.md) | Key runtime scenarios and request flows |
| 7 | [07-deployment-view.md](07-deployment-view.md) | Infrastructure and deployment topology |
| 8 | [08-crosscutting-concepts.md](08-crosscutting-concepts.md) | Security, logging, error handling, configuration |
| 9 | [09-architectural-decisions.md](09-architectural-decisions.md) | Architecture Decision Records (ADRs) |
| 10 | [10-quality-requirements.md](10-quality-requirements.md) | Quality scenarios and acceptance criteria |
| 11 | [11-risks-and-technical-debt.md](11-risks-and-technical-debt.md) | Known risks and technical debt |
| 12 | [12-glossary.md](12-glossary.md) | Domain and technical terms |
+57
View File
@@ -0,0 +1,57 @@
# Frontend — Flask Web UI
Server-rendered UI powered by Flask + Jinja2 + Tailwind CSS.
## Tech Stack
| Layer | Choice |
| ----------- | -------------------------------- |
| Framework | Flask |
| Templates | Jinja2 |
| Styling | Tailwind CSS (CDN) + custom CSS |
| HTTP client | httpx |
| Server | gunicorn (prod), Flask dev (dev) |
## Project Structure
```txt
frontend/
app/
__init__.py App factory (create_app)
main.py Entry point — calls create_app()
config.py Configuration (secret key, backend URL)
filters.py Jinja2 template filters (fromisoformat, humantime)
helpers.py API client (_api), auth decorators, model helpers
routes/ Blueprint route handlers
__init__.py register_blueprints()
auth.py /login, /register, /logout, /
dashboard.py /dashboard
gallery.py /gallery, image/video/upload detail, /images/<id>/file
generate.py /generate/text, /generate/image, /generate/video
admin.py /admin, /admin/models, /api/admin/*
profile.py /users/profile
templates/ Jinja2 HTML templates
admin/ Admin sub-templates (models, videos)
static/ CSS (style.css), JS (app.js)
tests/ pytest suite
Dockerfile Production container
requirements.txt Runtime dependencies
requirements-dev.txt Dev dependencies
```
## Running locally
```bash
cd frontend
flask --app app.main run --port 12016 --debug
```
## Running tests
```bash
pytest frontend/tests/
```
## Architecture
See [docs/ARCHITECTURE.md](../docs/ARCHITECTURE.md) for full documentation (arc42 template).