No description
  • Python 60.1%
  • HTML 37.3%
  • Nix 1.8%
  • Dockerfile 0.8%
Find a file
Daniel Perout 5761c205b2 feature/consolidation-and-tests (#20)
AI assisted/generated tests

Co-authored-by: Pi Assistant <pi@helenka.local>
Reviewed-on: #20
2026-10-21 14:49:47 +02:00
app feature/consolidation-and-tests (#20) 2026-10-21 14:49:47 +02:00
cobuild Cobuild: add basic cobuild config 2026-08-06 13:24:56 +02:00
container uwsgi: tune workers and timeouts, drop dead static-map 2026-08-06 13:24:56 +02:00
.containerignore Fix fio api token and optimize 2026-07-03 11:46:04 +02:00
.editorconfig Format 2026-05-13 16:30:32 +02:00
.gitignore Cobuild: add basic cobuild config 2026-08-06 13:24:56 +02:00
Containerfile Fix rights for the /data/helenka and run migration under www-data 2026-08-06 13:24:56 +02:00
flake.lock Make ready for production and fmt 2026-03-18 22:12:31 +01:00
flake.nix Configure wsgi 2026-07-02 17:34:20 +02:00
README.md feature/consolidation-and-tests (#20) 2026-10-21 14:49:47 +02:00

Helenka

Helenka je účetní aplikace postavená pro potřeby malé neziskové organizace s vícero aktivitami (semináři).

📋 Obsah

Funkce

✅ Plně funkční

  • Přehled transakcí s filtry a grafy
  • Evidence transakcí, vč. nahrávání dokladů
  • Sledování proplácení
  • Import výpisů z Fio banky (API)

⚠️ Částečně implementováno

  • Fakturace (Invoicer): Modely existují, ale chybí URL, views a šablony
  • Správa seminářů (vytváření, organizátoři)
  • Správa uživatelů (poskytuje Django)

📌 Plánované

  • Dokončení modulu fakturace
  • REST API
  • Export dat (CSV, PDF)
  • Pokročilé vyhledávání a filtrování

Deploy

Kontejner

Nabízíme kontejner založen na gimli/base:trixie, určený pro deploy na Gimlim.

Jde o zabalenou uwsgi aplikaci, která poslouchá na portu 3031.

Uložení dat

Data ukládá do /data:

  • /data/helenka.env - obsahuje environment proměnné:
    • SECRET_KEY
    • ALLOWED_HOSTS - povolené domény (bez správné konfigurace vrátí 500)
    • FIO_API_TOKEN - token pro komunikaci s Fio bankou
  • /data/helenka/db.sqlite3 - databáze SQLite
  • /data/helenka/media - nahrané soubory

Import výpisu z účtu

Ve webovém rozhraní je možné požádat o výpis z bankovního účtu u Fio banky.

Důležité: Pokud se požadují data starší než 90 dní, je nutné manuálně autorizovat API klíč v internetovém bankovnictví Fio banky.

Vývoj

Požadavky

  • Python 3.11+
  • Django 5.2+
  • Nix (pro vývojové prostředí)

Spuštění testů

cd app
python manage.py test --settings=helenka.settings.development

Větve

  • main - Stabilní verze (releases)
  • dev - Vývojová větev
  • feature/* - Funkční větve pro nové vlastnosti

Fičury přidáváme přes pull requesty, ty se mergují do dev, který se následně mergne do main.

Používáme sémantické verzování (SemVer).


Verze: v1.0.0
Autor: Daniel Perout (daniel@perout.me)
Zdrojový kód: gitea.ks.matfyz.cz/wikiker/helenka/