|
@@ -0,0 +1,46 @@
|
|
|
|
|
+# 🏗️ 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.*
|