Požadavky na infrastrukturu
Verze dokumentu
| Verze | Datum | Autor | Změny |
|---|---|---|---|
| 1.0 | Listopad 2025 | Martin Svoboda | Úvodní verze |
| 1.1 | Prosinec 2025 | Martin Svoboda | Realistické odhady úložiště (optimalizované soubory), přehled růstu dat |
| 1.2 | Leden 2026 | Martin Svoboda | Doplněny požadavky na email/SMTP, aktualizace verzí PostgreSQL |
1. O projektu
1.1 Zadavatel
Klub českých turistů (KČT)
Nezisková organizace s více než 135letou tradicí, cca 32 000 členů, 500+ odborů ve 14 oblastech ČR.
1.2 Popis projektu
Turinka KČT je připravovaná webová aplikace pro českou turistickou komunitu. Aplikace bude poskytovat:
- Turistický deník s evidencí aktivit a GPS tras
- Databázi turistických akcí
- Databázi turistických tras (výletů, okruhů, trasy pochodů)
- Systém digitálních odznaků, záznamníků a výzev
- Hlášení závad na turistickém značení
- Informační a notifikační systém
- A další funkce pro turistickou veřejnost i členy KČT
1.3 Cílové skupiny
| Skupina | Očekávaný počet uživatelů |
|---|---|
| Veřejnost (turisté) | 10 000 – 100 000 |
| Členové KČT | 5 000 – 20 000 |
| Pořadatelé akcí | 100 – 1 000 |
| Správci (odborů, oblastí) | 50 – 500 |
| Administrátoři | 10 – 30 |
1.4 Charakter projektu
- Neziskový projekt – aplikace je zdarma pro všechny uživatele
- Dobrovolnický vývoj – realizován především dobrovolníky
- Postupný růst – začínáme pilotní verzí, rozšiřujeme dle potřeby
2. Technické požadavky
2.1 Přehled technologií
| Komponenta | Technologie | Poznámka |
|---|---|---|
| Aplikace | PHP 8.3+, Symfony 7 | Webová aplikace |
| Databáze | PostgreSQL 16+ | S rozšířením PostGIS 3.4+ pro GPS data |
| Cache | Redis 7+ | Volitelně pro pilotní fázi, vyžadováno pro produkci |
| Web server | Nginx | Nebo kompatibilní |
| Object storage | S3-compatible | Pro GPX soubory a fotografie (pro pilot volitelně) |
| SMTP server | Pro transakční a hromadné emaily |
2.2 Nutné požadavky
| Požadavek | Popis |
|---|---|
| Datacenter v EU | Pro splnění GDPR |
| Linux server | Debian/Ubuntu nebo kompatibilní distribuce |
| PostgreSQL 16+ | S možností instalace rozšíření PostGIS 3.4+ |
| Object Storage | S3-compatible API nebo alternativa |
| Email/SMTP | SMTP server pro transakční emaily (viz 2.5) |
| Zálohy | Denní zálohy s retencí min. 7 dní |
| Škálovatelnost | Možnost navýšit CPU/RAM bez migrace |
| SSH přístup | Root nebo sudo přístup k serverům |
| Cron | Podpora plánovaných úloh (crontab) |
2.3 Preferované požadavky (výhodou)
| Požadavek | Popis |
|---|---|
| Datacenter v ČR | Nižší latence pro české uživatele |
| Managed PostgreSQL | Automatické zálohy a aktualizace |
| Česká podpora | Komunikace v českém jazyce |
| Flexibilní fakturace | Platba dle skutečného využití |
2.4 Varianty plnění
Dodavatel může nabídnout:
Varianta A – Self-managed (IaaS)
- Virtuální servery s root přístupem
- Správu serveru zajišťuje zadavatel
Varianta B – Managed hosting
- Kompletní správa serverů dodavatelem
- Monitoring, aktualizace, zálohy v režii dodavatele
Varianta C – Kombinace
- Např. managed databáze + self-managed aplikační server
2.5 Požadavky na email/SMTP
Aplikace vyžaduje možnost odesílání emailů pro:
- Transakční emaily – reset hesla, potvrzení registrace, verifikace emailu
- Upomínky – připomínky naplánovaných akcí (den/týden předem)
- Notifikace – systémové notifikace uživatelům
- Hromadné rozesílání – budoucí newslettery, informace o akcích (po dávkách)
| Požadavek | Popis |
|---|---|
| SMTP server | Vlastní nebo externí služba |
| Datacenter v EU | Pro splnění GDPR |
| Podpora bulk mailingu | Možnost rozesílání po dávkách (rate limiting) |
| SPF/DKIM/DMARC | Pro zajištění doručitelnosti |
| Bounce handling | Správa nedoručených zpráv |
Očekávaný objem:
| Fáze | Transakční/měsíc | Hromadné/měsíc | Poznámka |
|---|---|---|---|
| Pilotní | ~500 | 0 | Pouze základní funkce |
| Provozní | ~5 000 | ~10 000 | Upomínky, notifikace |
| Produkční | ~20 000 | ~50 000+ | Plná funkcionalita |
Možná řešení:
- Vlastní mailserver (Postfix) – vyžaduje správu, reputaci IP
- SMTP relay poskytovatele hostingu
- Externí služba (Mailgun, Postmark, SendGrid, Mailjet) – EU region
3. Kapacitní požadavky a škálování
3.1 Princip postupného růstu
Projekt startuje s minimální infrastrukturou a roste dle reálné potřeby. Požadujeme možnost postupného rozšiřování kapacity bez nutnosti migrace.
FÁZE 1 (Pilot) FÁZE 2 (Rozšíření) FÁZE 3 (Produkce)───────────────── ────────────────── ─────────────────1x App Server 1x App Server 2x App ServerPostgreSQL + PostGIS PostgreSQL + PostGIS PostgreSQL + ReplicaRedis (volitelně) Redis RedisSMTP (externí/relay) SMTP SMTP + bulk service + více RAM/CPU + Load Balancer3.2 Fáze 1 – Pilotní provoz
Cíl: Testování s omezenou skupinou (100–500 aktivních uživatelů)
Očekávaná data: ~50 000 fotek, ~30 000 GPX tras
| Komponenta | Specifikace | Poznámka |
|---|---|---|
| Server | 2 vCPU, 4 GB RAM, 40 GB SSD | Jeden server |
| PostgreSQL | Na stejném serveru nebo managed | S PostGIS 3.4+ |
| Redis | Volitelný | Pro cache, lze použít file sessions |
| Object Storage | 10–15 GB | Optimalizované soubory |
| Email/SMTP | Externí služba nebo relay | ~500 emailů/měsíc |
Očekávané náklady: 300–800 Kč/měsíc + email služba (free tier obvykle stačí)
3.3 Fáze 2 – Rozšíření
Cíl: Stovky až nízké tisíce aktivních uživatelů
Očekávaná data: ~200 000 fotek, ~100 000 GPX tras
| Komponenta | Specifikace | Poznámka |
|---|---|---|
| Server | 4 vCPU, 8 GB RAM, 80 GB SSD | Navýšení |
| PostgreSQL | Samostatný nebo větší | S PostGIS, 4 GB RAM min., ~10 GB dat |
| Redis | Ano | Pro cache a sessions |
| Object Storage | 30–50 GB | Dle potřeby |
| Email/SMTP | Placená služba nebo vlastní | ~15 000 emailů/měsíc |
Očekávané náklady: 1 000–3 000 Kč/měsíc
3.4 Fáze 3 – Produkční provoz
Cíl: Tisíce aktivních uživatelů, vysoká dostupnost
Očekávaná data (rok 3–5): ~500 000–1 500 000 fotek, ~250 000–700 000 GPX tras
| Komponenta | Specifikace | Poznámka |
|---|---|---|
| App servery | 2x (4 vCPU, 8 GB RAM) | Horizontální škálování |
| PostgreSQL | 4+ vCPU, 16 GB RAM | S PostGIS, + replica, ~20–50 GB dat |
| Redis | Samostatný | Cache, sessions |
| Object Storage | 100–250 GB | Optimalizované soubory + CDN |
| Load Balancer | Nginx / HAProxy | Rozložení zátěže |
| Email/SMTP | Dedikovaná služba s bulk mailingem | ~70 000+ emailů/měsíc |
Očekávané náklady: 3 000–10 000 Kč/měsíc
3.5 Přehled růstu úložiště
| Horizont | Soubory (S3) | Databáze | Zálohy | Celkem |
|---|---|---|---|---|
| Rok 1 | 7 GB | 2 GB | 18 GB | ~30 GB |
| Rok 2 | 27 GB | 8 GB | 70 GB | ~105 GB |
| Rok 3 | 68 GB | 20 GB | 176 GB | ~270 GB |
| Rok 5 | 200 GB | 50 GB | 500 GB | ~750 GB |
Poznámka: Odhady předpokládají optimalizaci fotek (WebP formát, max 1200px) a GPX souborů (komprese). Aplikace provádí optimalizaci automaticky při uploadu.
3.6 Očekávaná zátěž
| Fáze | Uživatelé | Požadavky/s | Poznámka |
|---|---|---|---|
| Pilotní | 100–500 | Desítky | Start projektu |
| Provozní | 1 000–5 000 | Stovky | Běžný provoz |
| Špičková | — | Krátkodobě vyšší | Sezónní akce |
4. SLA požadavky
| Parametr | Minimální | Preferovaná |
|---|---|---|
| Dostupnost | 99% měsíčně | 99.5% měsíčně |
| Plánované odstávky | Oznámení 24h předem | Oznámení 48h předem |
| Reakce na výpadek | Do 4 hodin | Do 1 hodiny |
| Obnova ze zálohy | Do 8 hodin | Do 4 hodin |
4.1 Zálohy
| Typ zálohy | Požadavek |
|---|---|
| Databáze | Denně, retence min. 7 dní |
| Soubory | Denně, retence min. 7 dní |
| Point-in-time recovery | Výhodou |
| Off-site záloha | Výhodou |
5. Struktura nabídky
Dodavatel předloží nabídku obsahující:
5.1 Popis řešení
- Navrhovaná architektura
- Umístění datacentra
- Použité technologie
5.2 Cenová nabídka
- Měsíční náklady pro jednotlivé fáze (Pilot / Rozšíření / Produkce)
- Jednorázové náklady (setup), pokud jsou
- Ceník navýšení kapacity (RAM, CPU, disk)
- Ceník dodatečných služeb
5.3 SLA a podpora
- Garantované parametry dostupnosti
- Způsob a doba reakce na výpadky
- Kontakty pro podporu
5.4 Reference (volitelné)
- Podobné projekty
- Zkušenosti s neziskovým sektorem
6. Hodnotící kritéria
| Kritérium | Váha |
|---|---|
| Celková cena (TCO na 2 roky) | 35 % |
| Flexibilita škálování | 25 % |
| Technické řešení | 20 % |
| Podpora a SLA | 15 % |
| Reference | 5 % |
7. Možnosti partnerství
Klub českých turistů je neziskovou organizací. Projekt Turinka KČT je realizován primárně dobrovolnicky. Vítáme nabídky zvýhodněných podmínek formou partnerství.
7.1 Co můžeme nabídnout poskytovateli infrastruktury
Rozsah protiplnění závisí na výši slevy/daru a vzájemné domluvě:
| Protiplnění | Popis |
|---|---|
| Logo v aplikaci | Umístění v sekci “Provozováno na infrastruktuře [partner]“ |
| Logo na webu KČT | V sekci partnerů projektu Turinka KČT |
| Propagační materiály | Logo na letácích, plakátech, roll-upech k projektu |
| Reference | Možnost uvádět KČT jako referenčního zákazníka |
| Případová studie | Spolupráce na case study pro marketing poskytovatele |
| PR článek | Publikace článku o spolupráci na webu KČT a/nebo v časopise Turista |
| Reklamní prostor v aplikaci | Banner nebo zmínka v relevantních sekcích aplikace |
| Zmínka na sociálních sítích | Informování o partnerství na FB/Instagram KČT |
| Prezentace na akcích | Možnost prezentace na vybraných turistických akcích KČT |
| Tiskoviny | Zmínka v tištěných materiálech souvisejících s projektem |
Konkrétní rozsah a forma protiplnění bude předmětem individuální dohody.
7.2 Proč podpořit projekt
- Společensky prospěšný projekt – bezplatná aplikace pro širokou veřejnost
- Stabilní partner – KČT existuje více než 135 let
- Nízké nároky na podporu – technicky zdatný tým
- PR hodnota – spojení s tradiční českou organizací
- Dlouhodobá spolupráce – projekt s perspektivou růstu
8. Kontakty
| Role | Jméno | Telefon | |
|---|---|---|---|
| Vedoucí projektu | Martin Svoboda | [e-mail] | [telefon] |
| Kontakt KČT | TBD |
Poznámky
- Zadavatel je otevřen alternativním technickým řešením
- Preferujeme jednoduchost a transparentnost
- Projekt startuje s minimálními náklady a roste postupně
- Dotazy k požadavkům zodpovíme na uvedených kontaktech
Dokument verze 1.2 | Leden 2026