Přehled odvedené práce

Kochy — interní systém pro KAMSY s.r.o. revize.kamsy.cz

Systém pro revizní a údržbové protokoly + paměť o zákaznickém vybavení. Tento přehled shrnuje, co bylo vytvořeno, zabezpečeno a nasazeno — a co ještě zbývá ke spuštění.

1 Co aplikace umí (hotovo a otestováno)

Celá aplikace je funkčně hotová a ověřená.

63 / 63
automatických testů prošlo (spouští se při každé změně)
85 / 86
ručních testů přes prohlížeč (3 kola, 25. 5. 2026)
OblastCo je hotové
PřihlášeníE-mail + heslo + dvoufázové ověření (2FA / TOTP s QR kódem), záložní kódy, zámek účtu po neúspěšných pokusech, CAPTCHA (Turnstile) na přihlášení
ZákazníciVyhledávání podle IČO, jména i adresy (i bez diakritiky), detail zákazníka; data tažená z Fakturoidu (jen čtení)
Paměť o vybaveníEvidence zařízení u každého zákazníka; formulář se předvyplní z minulé návštěvy („Načíst předchozí") — klíčová funkce v1
Šifrované poznámkyPoznámky u zákazníka (např. hesla zařízení) — historie změn, obnovení, vše šifrované
Šifrované přílohyNahrávání a stahování souborů (PDF / obrázky / text), kontrola typu i velikosti, limit na zákazníka, vše šifrované
Generování protokolůRevize i údržba, všechny 4 moduly (CCTV / EKV / DT / Dveře) + HDD SMART, česká diakritika v PDF, odkazy na ČSN EN 50678 / ČSN 33 1600 ed.2
ArchivKaždé PDF + data se ukládají trvale; filtrování (rok / modul / technik), náhled, znovuvygenerování s vodoznakem
Evidenční číslaPřidělována serverem (bez možnosti kolize nebo přepsání)
Správa uživatelůZakládání, pozvánky, dvě role (admin / technik), deaktivace/aktivace účtů
Auditní logZáznam citlivých operací (24+ typů událostí)
Automatické úlohyDenní a týdenní úklid, týdenní export auditu, zálohování databáze
Rozsah verze 1 je daný dohodou — bez e-mailového serveru, bez automatického vytváření faktur, bez vícejazyčných PDF; tyto věci jsou vědomě odložené na pozdější verze.

2 Bezpečnost

Aplikace prošla úplnou bezpečnostní prověrkou (30. 5. 2026). Jádro přihlášení a oprávnění bylo shledáno v pořádku — žádné obejití rolí, žádný neověřený přístup k chráněným místům.

Nalezeno a opraveno:

1 kritická 10 středních 14 nízkých 3 informativní

Konkrétní bezpečnostní prvky

3 Přenos na vlastní server (Hetzner)

Aplikace byla původně postavená pro platformu Cloudflare. Na přání klienta („server, na který se dá přihlásit přes SSH") byla přenesena na vlastní server Hetzner — Node.js + PostgreSQL 16 + objektové úložiště, za webovým serverem Caddy.

Přenos byl podstatná inženýrská práce: cílem bylo, aby stejná aplikace běžela beze změny vnitřní logiky na nové platformě. Toho jsme dosáhli vrstvou „překladačů" mezi databázemi a úložišti — žádná z 13 služeb ani 11 cest v aplikaci se nemusela přepisovat.

Při přenosu se našlo a opravilo 9 chyb z rozdílů mezi platformami

Rozsah: ~162 souborů změněno, ~15 800 řádků. Aplikace odladěna a otestována na lokálním prostředí shodném s produkcí.

4 Co je hotové přímo na vašem serveru

Server 167.233.22.168 (pořízen 1. 6. 2026) je zabezpečený a aplikace je na něj nasazená a ověřená na zkušebním provozu — zatím dostupná jen lokálně na serveru, za firewallem, ne ještě veřejně na internetu.

KrokStav
Zrušeno uniklé heslo (zaslané kdysi e-mailem v otevřené podobě)✅ hotovo
Přihlášení na server pouze přes SSH klíč (heslo zakázáno a ověřeno)✅ hotovo
Firewall (SSH jen ze správcovské IP)✅ ověřeno
Instalace databáze (PostgreSQL 16), Node.js, webový server (Caddy)✅ hotovo
Vyladění serveru na 4 GB RAM (paměťové limity, odkládací prostor)✅ hotovo
Aktualizace systému + restart na nové jádro✅ ověřeno
Nasazení aplikace + spuštění jako systémové služby (23 tabulek)✅ běží
Zálohování + zkušební obnovení ze zálohy (šifrovaná záloha → úložiště → obnova)✅ ověřeno
Automatické zálohy (denně; úklid: 7 dní lokálně, 90 dní v úložišti)✅ zapnuto
Fakturoid — reálné přístupy nasazené a ověřené (viz sekce 5)✅ hotovo
Objektové úložiště + 3 oddíly (přílohy, archiv, zálohy)✅ funkční
Produkční HTTPS (Let's Encrypt) — k zapnutí po přesměrování domény🔧 dokončuje Petr
Při zkušebním zálohování se ukázaly a opravily 4 reálné chyby, které lokální testování nemohlo odhalit (objevily se až proti skutečné databázi na serveru) — týkaly se práv zálohovacího procesu a způsobu obnovy. Po opravě proběhl celý cyklus záloha → šifrování → odeslání → obnova úspěšně.
Kontrola stavu serveru (3. 6. 2026): vše běží, 0 chyb, dostatek paměti i místa na disku.

5 Co ještě zbývá ke spuštění

Aplikace je nasazená, otestovaná a zálohovaná. K veřejnému spuštění zbývají už jen kroky na straně KAMSY — Petr je z venku udělat nemůže.

Nastavení sítě: doména kamsy.cz je vedená u Webglobe. Necháváme ji tam — aplikaci jen nasměrujeme na nový server jednou změnou DNS záznamu. HTTPS certifikát si server vyřídí sám (Let's Encrypt, zdarma, automatické obnovení).
#KrokKdo
1Přesměrovat DNS — záznam protokoly u Webglobe na 167.233.22.168. Jen tento jeden záznam; smlouvy / e-mail / web zůstávají beze změny.KAMSY (Webglobe)
2Předat 4 přístupové klíče — Turnstile (2) + Telegram (2). Nyní běží na testovacích.KAMSY → Petr
Před krokem 1 připraví Petr server (porty, HTTPS); po krocích 1–2 vloží klíče, ověří HTTPS a založí reálné uživatele.Petr

6 Časová osa prací

ObdobíPráce
10.–11. 5.Vývoj jádra aplikace (protokoly, přihlášení, zákazníci, přílohy, audit, správa) + první bezpečnostní opravy
24.–25. 5.Přenos na Hetzner — databázová a runtime vrstva, ladění 9 platformových chyb, testovací sada, ruční testy (85/86)
30. 5.Optimalizace výkonu + úplná bezpečnostní prověrka a odstranění všech zjištění
1.–2. 6.Příprava produkčního serveru: zabezpečení, vyladění na 4 GB RAM, instalace databáze/Node/Caddy, dokumentace
2.–3. 6.Nasazení + zkušební provoz; ověřené zálohování a obnovení (oprava 4 chyb); reálné přístupy k Fakturoidu; příprava na DNS u Webglobe + HTTPS přes Let's Encrypt; aktualizace dokumentace a pokynů