# 🏗️ Architektura projektu Hlavní myšlenkou je rozdělení aplikace do logických modulů (Blueprintů). Každý modul má svůj vlastní soubor, což umožňuje týmovou spolupráci bez konfliktů. ## 📂 Struktura složek ```text silly_qiz/ ├── app/ │ ├── __init__.py # Inicializace a spojení modulů │ ├── static/ # Statické soubory (CSS, JS, Obrázky) │ ├── templates/ # Jinja2 HTML šablony │ ├── home.py # Modul pro domovskou stránku │ └── questions.py # Modul pro logiku kvízu ├── docs/ # Dokumentace projektu ├── pyproject.toml # Definice závislostí (uv) ├── .python-version # Verze Pythonu ├── .gitignore # Ignorované soubory pro Git └── README.md # Základní info o projektu ``` ## ⚙️ Jak to funguje ### `app/__init__.py` Tento soubor slouží jako srdce aplikace. Spojuje všechny části do jednoho celku pomocí **Flask Blueprintů**. Příklad registrace modulů: ```python from . import home app.register_blueprint(home.bp, url_prefix="/") from . import questions app.register_blueprint(questions.bp, url_prefix="/api/questions") ``` * **Vysvětlení:** Pokud v `questions.py` definujete routu `@bp.route("/ahoj")`, bude v celé aplikaci dostupná pod URL `/api/questions/ahoj`. ### 📄 Moduly (`home.py`, `questions.py`) Každý soubor obsahuje logiku pro konkrétní část webu. To umožňuje každému členu týmu "pracovat na svém písečku". ### 🎨 Šablony (`app/templates/`) Obsahují HTML soubory, které využívají engine **Jinja2**. To znamená, že do HTML můžete dynamicky vkládat data pomocí `{{ promenna }}`. ### 🍱 Statické soubory (`app/static/`) Místo pro váš CSS kód, obrázky a JavaScript. Např. stylizace se nachází v `app/static/css/style.css`. **trochu jsem tento soubor vylepšil pomocí AI.*