Wyzwanie
W wielu warsztatach praca wciąż toczy się wokół telefonu, SMS-ów i zeszytu. Chcieliśmy zbudować system, w którym klient umawia się online, a warsztat prowadzi zlecenia, pracowników, magazyn części i faktury w jednym miejscu. System musiał obsługiwać wielu warsztatów naraz, a każdy z nich miał mieć pewność, że jego dane są widoczne tylko dla niego. Co system oferuje warsztatom, opisaliśmy na stronie produktu.
Architektura SaaS i wielu klientów
Jedna instalacja obsługuje wiele warsztatów (multi-tenancy), a dane każdego z nich są od siebie odizolowane na poziomie zapytań do bazy. Izolację sprawdzają dedykowane testy, które na prawdziwych rekordach potwierdzają, że jeden warsztat nigdy nie zobaczy danych drugiego. Każdy warsztat ma własną markę: logo i kolory widoczne w całym panelu, także w widoku klienta.
Technologie
Backend powstał w C# i ASP.NET Core, interfejs w Next.js i TypeScript, a dane trafiają do bazy PostgreSQL. To dokładnie ten stos, który oferujemy klientom, więc rozwiązania, które opisujemy w ofercie, sprawdzamy najpierw na własnym produkcie.
Role i uprawnienia
System ma cztery role z osobnymi panelami i menu: klient, serwisant, administrator warsztatu i administrator platformy. Uprawnienia sprawdzane są po stronie serwera, a macierz dostępu dla każdej trasy i każdej roli jest testowana automatycznie.
Bezpieczeństwo
Bezpieczne przechowywanie haseł, krótkie sesje, limity prób logowania, nagłówki bezpieczeństwa, odporność na błędne dane wejściowe oraz dziennik zdarzeń rejestrujący kluczowe działania personelu. Zasady, według których pracujemy, opisaliśmy na stronie Bezpieczeństwo.
Jakość i interfejs
Testy jednostkowe, integracyjne i end-to-end, audyt widoków na telefonie, tablecie i komputerze oraz kontrast kolorów zgodny ze standardem dostępności WCAG AA. Interfejs ma własny system projektowy z jasnym i ciemnym motywem, a kolory marki każdego warsztatu są dobierane tak, by zawsze zachować czytelność.
Czego uczy ten projekt
eGarage pokazuje, jak wygląda kompletny produkt SaaS zbudowany od zera i jakie decyzje trzeba podjąć na początku: model danych, izolacja klientów, role, bezpieczeństwo i zakres pierwszej wersji. Z podobnych założeń możemy wyjść przy Twoim produkcie lub systemie dla Twojej branży. Szczegóły w ofercie tworzenia aplikacji SaaS oraz aplikacji do rezerwacji i obsługi zleceń.