[Název aplikace] — specifikace¶
Status: draft / spec / in-progress / shipped Verze spec: 0.1 Aktualizováno: YYYY-MM-DD Autor specifikace: [jméno]
1. Cíl a motivace¶
Co aplikace dělá (1 odstavec): [jaký problém řeší, pro koho]
Proč ji děláme: [byznys / produktový důvod]
Kategorie: [ekonomika, právní, mzdy, sklad, …]
Cílová skupina: [malé firmy, střední, jednatelé, účetní, …]
2. User stories¶
Hlavní scénáře použití (3–5 nejdůležitějších, formát Jako [X] chci [Y], abych [Z]):
- Jako [role] chci [akce], abych [hodnota].
- ...
3. UI / UX¶
Obrazovky¶
| Obrazovka | Účel | Klíčové prvky |
|---|---|---|
| [název] | [účel] | [tlačítka, tabulky, …] |
Navigace¶
Diagram nebo seznam přechodů mezi obrazovkami.
Mockupy / screenshoty¶
Odkaz na Figma / přiložené obrázky / textové wireframe.
4. Datový model¶
Vlastní DB tabulky¶
Pokud aplikace nemá vlastní DB tabulky, smaž tuto sekci.
| Tabulka | Sloupce | Účel |
|---|---|---|
<app>_items |
id, …, created_at | … |
Schéma se nasazuje per-app Alembic migrace (viz docs/spec/per-app-container.md).
S3 prefix struktura¶
Sdílená data z hlavního backendu¶
Které endpointy main backendu aplikace čte (auth, katalog, org, …):
- GET /auth/me — identity uživatele
- ...
5. Backend API (vlastní)¶
Pokud má aplikace vlastní backend kontejner (per-app container architektura — viz docs/spec/per-app-container.md), zde jsou jeho endpointy.
Base path: /<slug>/* (routováno gateway na app container)
GET /<slug>/items → seznam položek
POST /<slug>/items → vytvořit
GET /<slug>/items/{id} → detail
DELETE /<slug>/items/{id} → smazat
GET /<slug>/health → health check (povinný!)
Auth: JWT z hlavního backendu, validace přes shared middleware.
6. Klient (desktop app)¶
Stack: [customtkinter / tauri / electron / cli / …]
Komunikace:
- IPC s launcherem (přes AVAX SDK) — session token, theme, lifecycle
- REST na vlastní backend /<slug>/*
- REST na hlavní backend pro auth/storage tokeny
Lokální data: %LOCALAPPDATA%/Avaxis/apps/<slug>/data/
7. Závislosti¶
Externí¶
| Služba | Použití | Kritická? |
|---|---|---|
| (např.) ARES API | IČO lookup | ne, fallback ruční |
Interní (jiné AVAX komponenty)¶
- Auth (
/auth/login,/auth/me) - Catalog (
/catalog/apps) - Storage (
/storage/token) — pokud app ukládá do S3 - Chat — pokud aplikace má integraci
8. Oprávnění a role¶
Které role mají k aplikaci přístup:
- super_admin — vždy
- company_admin — ano (default)
- user (custom role) — podle pozice / role assignment
Per-feature oprávnění uvnitř aplikace (pokud existují):
- <slug>:read — číst data
- <slug>:write — měnit data
- <slug>:admin — administrace
9. Telemetrie a logging¶
- Strukturovaný log do stdout (JSON, vyžaduje per-app container architektura)
- Klíčové eventy: login, create/update/delete entity, error
- Metriky: počet uživatelů, počet operací/den, response time p95
10. Acceptance criteria¶
MVP (verze 0.x — alpha)¶
- Klient se přihlásí přes launcher
- Backend
/healthvrací 200 - Základní CRUD nad hlavní entitou
- Smoke test (pytest)
Verze 1.0 (stable)¶
- Plný feature set z User stories
- Per-app Alembic migrace s downgrade
- Documentation v
docs/apps/<slug>.notes.md - CI v Gitea: build + test + publish alpha
Verze 2.0 (budoucnost)¶
- …
11. Otevřené otázky¶
- [otázka která vyžaduje rozhodnutí před implementací]
- …
12. Timeline a status¶
| Fáze | Status | Cílový termín |
|---|---|---|
| Spec | ⏳ draft | YYYY-MM-DD |
| MVP | ⏳ | YYYY-MM-DD |
| Beta | ⏳ | YYYY-MM-DD |
| Stable | ⏳ | YYYY-MM-DD |
13. Související¶
- Hlavní arch spec:
per-app-container.md - Distribuce:
app-distribution.md - Auth & org:
auth-organization.md - Auto-doc:
docs/apps/<slug>.md(generováno z admin DB) - Notes (ručně):
docs/apps/<slug>.notes.md(chráněno před sync timerem)