Pro britskou stavební společnost, která využívá pokročilé softwarové nástroje pro správu projektů, jsme přepracovali klíčovou část jejich interní aplikace. Společnost se zaměřuje na správu nákladů a procesů pro malé i velké stavební firmy v Británii a Evropě.
Co jsme řešili?
Aplikace byla postavena na ASP.NET MVC, což s sebou neslo limity pro moderní vývoj uživatelského rozhraní. Abychom mohli rychleji reagovat na potřeby uživatelů a vyvíjet nové části nezávisle, rozhodli jsme se využít Svelte a začlenit ho do existující .NET aplikace.
Díky tomu jsme mohli nové komponenty vyvíjet izolovaně a nasazovat je postupně – bez nutnosti rozsáhlé migrace celé aplikace. Umožnilo nám to také soustředit se na uživatelskou přívětivost, výkon a snadnější údržbu kódu.
Cílem bylo nejen zlepšit uživatelskou zkušenost, ale i zvýšit výkon a zpřehlednit práci s úkoly, které stránka zobrazuje. Součástí úprav bylo i optimalizování SQL dotazů a přesun části backendové logiky do Azure Functions pro lepší škálovatelnost.
Co stránka dělá?
Stránka slouží ke správě úkolů na stavebním projektu – od dokumentace, přes denní záznamy až po kontrolu kvality. Každý úkol má svůj stav, historii i možnosti schválení v rámci týmu.
Technické řešení
- Frontend ve Svelte umožňuje rychlé a plynulé uživatelské reakce
- Integrace do ASP.NET MVC aplikace přes dynamický mount komponenty
- Rychlejší SQL dotazy díky optimalizaci na úrovni databáze i ORM
- Část logiky přesunuta do Azure Functions pro lepší škálování a modularitu
- Moderní UI a přehlednější UX navržené pro běžné uživatele ve stavebnictví
Před

Po
Nový vzhled usnadňuje orientaci a zdůrazňuje to podstatné, aniž by narušil vizuální konzistenci celé aplikace.

Výsledek
Nová stránka nabízí výrazně rychlejší načítání, reaguje okamžitě na změny dat a poskytuje uživatelům přehlednější a příjemnější pracovní prostředí.
Shrnutí
Ukázali jsme, že moderní frontend lze efektivně integrovat i do tradičních .NET aplikací. Díky Svelte, optimalizaci backendu a zaměření na UX jsme dodali řešení, které přináší reálnou hodnotu uživatelům bez nutnosti zásadního zásahu do celé aplikace.