Skip to content
Snippets Groups Projects
user avatar
Tomáš Valenta authored
e4e61e06
History

Rybička

Aplikace pro všemožné jednoduché nástroje, které pomohou automatizovat složité úkony.

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ů.
├── mail_signature          = Generátor podpisů do emailů.
├── rv_voting_calc          = Kalkulačka hlasování RV.
├── 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

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:

$ make help

Lokální setup

Požadavky:

  • Python 3.9+
  • Linuxové prostředí, na Windows netestováno

Zkopíruj env.example do .env, nastav potřebné proměnné.

Vytvoř virtualenv:

$ 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 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:

$ 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:

$ alias senv='source .venv/bin/activate'

A pak můžeš virtualenv aktivovat pouze jednoduchým voláním:

$ senv

Pro sofistikovanější řešení, které aktivuje virtualenv při změně adresáře na adresář s projektem, slouží nástroj direnv.

Deaktivace virtualenv se dělá příkazem:

$ deactivate

Instalace závislostí

Spusť:

$ 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ť:

$ 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:

$ make run

Poté můžeš web otevřít na adrese http://localhost:8012.