Zpět na domů

Architektura PWA pro remontní projekty: chat, role, AI | IT-přehled

Článek o vývoji PWA pro správu remontních projektů. Popsána architektonická řešení, systém rolí a práv přístupu, realizace chatu jako jednotného okna a integrace nástrojů AI. Uvedeny příklady technických řešení a lekce z projektu.

PWA pro remont: jak jsme vytvořili systém správy projektů s AI
Advertisement 728x90

# Architektura PWA pro řízení renovací projektů: od chatu po AI nástroje

V stavební branži řízení projektů renovací bytů vyžaduje specializované nástroje, které zohledňují délku procesu a množství účastníků. Vyvinuli jsme řešení PWA, které spojuje chat, tašk-tracker, video sledování a AI designér interiérů. V tomto článku rozebereme architektonická řešení a technické obtíže, které vznikly při tvorbě systému pro řízení projektů od 6 do 18 měsíců.

Proč standardní CRM nefungují u renovací

Renovační stavební projekt není obchod ani tiket. Je to proces trvající od půl roku do půldruhého roku, do kterého je zapojeno několik rolí s různými potřebami:

  • Zakazník — chce vidět pokrok, ale nezapojovat se do detailů.
  • Kalkulant — formalizuje přání a spočítá objemy prací a materiálů.
  • Manažer — koordinuje všechny aspekty projektu.
  • Ředitel — musí vidět celkový přehled všech stavenišť bez ponoření do detailů každého.
  • Technický dozor — přebírá práce od řemeslníků.
  • Řemeslníci (ometači, elektrikáři, instalatéři) — pracují postupně.
  • Oddělení nákupu — nakupuje a dováží materiály.

Hotová řešení jako Bitrix24 nebo amoCRM jsou zaměřená na prodejní trychtýře, ne na řízení stavebních projektů. Trello a Asana se hodí na úkoly, ale neobsahují rozpočty, seznamy úkolů s fotodokumentací a finanční kontrolu. Specializovaných řešení pro renovace bytů, které spojují všechny potřebné nástroje, na českém trhu neexistovalo.

Google AdInline article slot

Volba technologického stacku: PWA a Laravel

Hlavní požadavek — jediné aplikace pro všechny: od ředitele po ometače. Řemeslníci používají Android chytré telefony různých generací, zakazníci často iPhone, manažeři desktopové počítače. Tři nativní aplikace (iOS, Android, web) by pro náš tým byly neefektivní. PWA tento problém vyřešila: jedna kódová báze, instalace na plochu, push notifikace, automatická aktualizace.

Backend je realizován na PHP Laravel, frontend — přizpůsobený šablona AdminLTE podle našich potřeb. Architektura je monolit s jednotnou autentizací a oddělenými kabinetami pro zaměstnance, řemeslníky a zakazníky. Laravel byl vybrán pro svou rozšířenost a dostupnost hotových balíčků pro většinu úkolů. Například odesílání notifikací do MAX je zpracováno jako samostatný balíček, podobně jako laravel notification channels.

Infrastruktura: virtuální server reg.ru v Moskvě, úložiště dat na serveru FirstVDS. Zálohy se dělají na tři různé servery u různých hostingů. Deploy probíhá CI/CD skriptem během sekund díky absenci frontendové kompilace, což umožňuje rychle vydávat aktualizace.

Google AdInline article slot

Architektura rolí a práv přístupu

Systém obsahuje čtyři typy kabinětů s různými rozhraními:

Kabinet zakazníka

Minimalistické rozhraní s videopřenosem, chatem „jednoho okna“, fotozprávami, rozpočtem a plánem prací. Přístup k AI nástrojům: expert na renovace a designér interiérů (nahrání fotek před renovací a získání renderů). Zakazník nevidí interní korespondenci ani sebestoimost.

Kabinet zaměstnance

Přístup k internímu systému podle udělených oprávnění: korespondence se zakazníky, přehled stavenišť, řízení výdajů, práce s řemeslníky, seznamy úkolů, rozpočty, analýzy.

Google AdInline article slot

Kabinet řemeslníka

Pouze staveniště, na kterých řemeslník pracuje. Osobní plán prací s odpočítáváním, chat se společností, seznamy úkolů s video instrukcemi, rozpočet (bez cen pro zakazníka), žádosti o materiály a platby.

Kabinet ředitele

Dashboard celé společnosti. Zahrnuje funkce zaměstnance plus:

  • Kontrola komunikace se zakazníky v reálném čase.
  • Finanční přehled: příjmy, výdaje, cash flow mezery.
  • Řízení střídání brigád pro minimalizaci prostoje.
  • Selektivní kontrola kvality přes seznamy úkolů.
  • Okamžité zavádění vylepšení (přidání položek do seznamů úkolů).
  • Prognóza poptávky podle statistik výpočtů cen.

Technicky realizováno tři rozhraní: zakazníka, řemeslníka a zaměstnance. Kabinet ředitele je kabinet zaměstnance s plnými právy. Oprávnění se nastavují individuálně, existují přednastavené „pozice“ (sady oprávnění).

Chat jako „jedno okno“: směrování zpráv

Klíčový úkol — chat, kde zakazník komunikuje se „společností“, ne s konkrétní osobou. Přitom uvnitř společnosti zprávu vidí všichni účastníci projektu.

Princip fungování:

  • Zakazník píše do chatu — zpráva se objeví u všech zaměstnanců přiřazených k staveništi.
  • Jakýkoli zaměstnanec odpoví — zakazník vidí odpověď od „společnosti“ s uvedením autora.
  • Pro zakazníka chat vypadá jako soukromá korespondence, pro zaměstnance jako obecný chat projektu.
  • Analogicky realizován chat s řemeslníkem.
  • Možnost přeposílání zpráv mezi zakazníkem a řemeslníkem.
  • V chatu se zakazníkem jsou povoleny pouze textové zprávy (pro dokumentaci), v chatu s řemeslníkem hlasové (pro přenos intonace).

Chat běží na web socketech. Notifikace o nových zprávách se odesílají s 5sekundovým zpožděním, aby se zabránilo odeslání, pokud byla zpráva již přečtena. Push notifikace obsahují tlačítka „Přečíst“ a „Odpovědět“. Na některých Androidech vzniká problém: při stisknutí tlačítka se notifikační lišta zavře, což brání práci.

Obtíže a řešení

Jednou z nečekaných obtíží se stala podpora více stavenišť u jednoho zakazníka. Museli jsme realizovat propojení účtů. V budoucích verzích budou účty, profily a staveniště odděleny od začátku.

Problém s push notifikacemi na Androidu (zavírání lišty při stisku tlačítka) zatím nevyřešen. Také jsme původně nepočítali s potřebou okamžitého zavádění změn do seznamů úkolů, ale nyní je to klíčové pro kontrolu kvality.

Co je důležité

  • Specifika oboru — renovací projekt vyžaduje zohlednění množství rolí a délky, což standardní CRM nepokrývají.
  • PWA jako optimální řešení — jedna kódová báze pro všechny platformy funguje navzdory drobným nuancím (např. s push notifikacemi na Androidu).
  • Flexibilní systém rolí — jasné oddělení rozhraní a práv přístupu pro různé účastníky projektu je klíčové pro přijetí systému.
  • Chat jako centrum komunikace — směrování zpráv „jednoho okna“ zjednodušuje interakci a dokumentuje korespondenci.
  • Zálohování a spolehlivost — trojnásobné zálohování na různé servery zachránilo data při selhání úložiště.

— Editorial Team

Advertisement 728x90

Číst dál