diff --git a/README.md b/README.md index 8e019db7722fccfbfdea993a54aba06d049a2ef5..41ebb353809e6b133fa82528ec709e9665ffdcd7 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,111 @@ Aplikace pro všemožné jednoduché nástroje, které pomohou automatizovat složité úkony. -## Lokální setup +## Struktura projektu +``` +. +├── rybicka = Nastavení projektu, URLs. +├── shared = Sdílené templaty a statické soubory pro všechny ostatní aplikace, index. +├── member_group_size_calc = Kalkulačka velikosti skupiny členů. +├── static_src = Zdrojové CSS a JS, které příkazem 'make build' buildujeme. +├── requirements = Pythonové závislosti z PyPI. +└── env.example = Příklad .env souboru. +``` + +## Konfigurace + +Je třeba definovat minimálně následující environment proměnné: +| proměnná | popis | +| `DATABASE_URL` | URL pro připojení k databázi ve formátu `postgresql://username:password@host:5432/database_name` | +| `SECRET_KEY` | Tajný klíč např. pro šifrování | + +V produkci je potřeba: +| proměnná | popis | +| `ALLOWED_HOSTS` | Seznam domén, skrz které se na server lze připojovat. [Více info](https://docs.djangoproject.com/en/4.1/ref/settings/#allowed-hosts) | + +## Vývoj + +V produkci používáme Docker. Při vývoji se hodí přiložený `Makefile`, pro automatizování často prováděných akcí. Pro nápovědu zavolej: + +```bash +$ make help +``` + +### Lokální setup Požadavky: - Python 3.9+ - Linuxové prostředí, na Windows netestováno -Zkopírovat `env.example` do `.env`, nastavit `DATABASE_URL` a `SECRET_KEY`. +Zkopíruj `env.example` do `.env`, nastav potřebné promenné. + +Vytvoř virtualenv: ```bash -make install -make build -make run +$ make venv ``` + +Vytvoří virtualenv ve složce `.venv`. Předpokládá že výchozí `python` v terminálu +je Python 3. Pokud tomu tak není, použij třeba [Pyenv](https://github.com/pyenv/pyenv) +pro instalaci více verzí Pythonu bez rizika rozbití systému. + +### Aktivace virtualenvu + +Před prací na projektu je třeba aktivovat virtualenv. To bohužel nejde dělat +pomocí nástroje `make`. Je třeba zavolat příkaz: + +```bash +$ source .venv/bin/activate +``` + +Pro shell lze vytvořit alias. Do `~/.bash_profile`, `~/.zshrc` nebo jiného +konfiguračního souboru dle tvého shellu přidej: + +```bash +$ alias senv='source .venv/bin/activate' +``` + +A pak můžeš virtualenv aktivovat pouze jednoduchým voláním: + +```bash +$ senv +``` + +Pro sofistikovanější řešení, které aktivuje virtualenv při změně adresáře na +adresář s projektem, slouží nástroj [direnv](https://direnv.net/). + +Deaktivace virtualenv se dělá příkazem: + +```bash +$ deactivate +``` + +### Instalace závislostí + +Spusť: + +```bash +$ make install +``` + +Tím se nainstalují Pythonové závislosti a virtuální Node.js 19x nutné k buildu statických souborů. + +### Build statických souborů + +Spusť: + +```bash +$ make build +``` + +Tím se vytvoří CSS a JS soubory, které se dají použít v prohlížečovém prostředí. + +### Spuštění development serveru + +Django development server na portu `8012` se spustí příkazem: + +```bash +$ make run +``` + +Poté můžeš web otevřít na adrese [http://localhost:8012](http://localhost:8012). diff --git a/shared/urls.py b/shared/urls.py index b8464da87f6227a5f8f78f2ae4212cc0f54b4fba..918861bf3556165df49b9f0b2a6da1ecc0497ea1 100644 --- a/shared/urls.py +++ b/shared/urls.py @@ -3,5 +3,5 @@ from django.urls import path from . import views urlpatterns = [ - path("", views.index, name="shared_index"), + path("", views.index, name="shared_index"), ]