Chytrý nájemník
🏠 Chytrý nájemník – AI asistent pro nájemní bydlení
Stav projektu: Discontinued – další vývoj byl zastaven. I přesto mi projekt poskytl cenné zkušenosti s návrhem a implementací full‑stack aplikace včetně AI integrace a produkčního nasazení.
📌 Popis projektu
Chytrý nájemník byla webová aplikace, která měla sloužit nájemcům bytů jako první pomoc při řešení právních otázek spojených s nájemním bydlením. Uživatelé se mohli registrovat, vyplnit profil s údaji o svém bytě a pronajímateli a následně pokládat dotazy právnímu chatbotu. Ten na základě českých zákonů a judikatury generoval odpovědi, zobrazoval relevantní paragrafy a nabízel i generování formálních výzev pronajímateli.
🛠️ Technologie
- Backend: PHP 8.2, Nette 3 (DI, presentery, formuláře, databáze, routování)
- Databáze: MySQL / MariaDB
- AI server: Python FastAPI, embedding model ModernBERT‑large‑czech‑legal, generativní model Llama‑3.1‑8B‑Czech‑Legal (přes Ollamu)
- Frontend: HTML, CSS (tmavý režim, animace), JavaScript (AJAX, SSE streamování)
- Komunikace: REST API, Server‑Sent Events (SSE)
- Infrastruktura: Ubuntu VPS, Nginx (reverse proxy, ladění bufferingu pro stream), Apache, systemd služby, cron
- Další: Nette Mail (SMTP), Google Fonts, JSON‑LD, SEO, robots.txt, sitemap.xml
🧩 Klíčové funkce
- Registrace / přihlášení s ověřením e‑mailu a možností resetu hesla
- Uživatelský profil s údaji o bytě a pronajímateli
- Chat s AI – dotazy na nájemní právo, zobrazení odpovědí, paragrafů a judikatury
- Streamování odpovědí (SSE) po tokenech s animovaným kurzorem
- Generátor písemných výzev – interaktivní šablony, kopírování, odeslání e‑mailem s kopií uživateli
- Živé metriky serveru (CPU, RAM) v chatu a na informační stránce
- Statické stránky: Jak to funguje, Zdroje dat, Právní upozornění, Podmínky užití
- Nasazení na produkční VPS s Nginxem a cronem pro pravidelnou synchronizaci dat
📚 Co jsem se naučil
- Hlubší práci s Nette frameworkem – DI kontejner, signály, AJAX, formuláře, routování
- Integraci s externím AI API a zpracování SSE streamů
- Řešení problémů s bufferingem na více vrstvách (PHP, Apache, Nginx) pro plynulé streamování
- Bezpečnost: CSRF, autentizace, hashování hesel, ochrana API tokenu
- Práci s e‑mailovými šablonami a SMTP (odesílání, reply‑to, BCC)
- Tvorbu responzivního tmavého designu s důrazem na UX
- Nasazení na produkční server, konfiguraci Nginxu a systemd služeb
- Ladění výkonu a chybových stavů (HTTP 500, timeouty, mixed content)