Skip to content
Snippets Groups Projects
Commit 656cd51b authored by Tomáš Valenta's avatar Tomáš Valenta
Browse files

nicer readme

parent 3fb95916
No related branches found
No related tags found
No related merge requests found
Pipeline #10949 passed
...@@ -2,16 +2,111 @@ ...@@ -2,16 +2,111 @@
Aplikace pro všemožné jednoduché nástroje, které pomohou automatizovat složité úkony. 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: Požadavky:
- Python 3.9+ - Python 3.9+
- Linuxové prostředí, na Windows netestováno - 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 ```bash
make install $ make venv
make build
make run
``` ```
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).
...@@ -3,5 +3,5 @@ from django.urls import path ...@@ -3,5 +3,5 @@ from django.urls import path
from . import views from . import views
urlpatterns = [ urlpatterns = [
path("", views.index, name="shared_index"), path("", views.index, name="shared_index"),
] ]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment