Warstwa wizualna i UX
Frontend zbudowałem w React i Vite – nowoczesnym stosie technologicznym, dzięki któremu strona działa płynnie i szybko, zarówno na komputerze, jak i na telefonie. Duży nacisk położyłem na responsywność, bo większość klientów zamawia usługę właśnie z telefonu, często w pośpiechu, np. patrząc na zabrudzoną kanapę.
System rezerwacji online
To serce całego projektu. Klient w kilku krokach wybiera usługę, podaje adres i wybiera dogodny termin, a system automatycznie wylicza koszt dojazdu na podstawie lokalizacji. Cały proces zaprojektowałem tak, żeby był prosty i nie wymagał kontaktu telefonicznego – klient widzi gotową wycenę, zanim jeszcze wyśle zgłoszenie. Do rezerwacji można też dołączyć zdjęcia, co pomaga ocenić zakres prac jeszcze przed przyjazdem.
Panel administracyjny
Do obsługi zgłoszeń zbudowałem dedykowany panel administracyjny z logowaniem – miejsce, z którego obsługuje się wszystkie rezerwacje. W panelu widać szczegóły każdego zgłoszenia, można zmieniać jego status (np. „w trakcie”, „zrealizowane”) i mieć pełny przegląd bieżącej pracy bez prowadzenia notatek na kartce czy w telefonie.
Automatyzacja komunikacji
Po złożeniu rezerwacji system automatycznie wysyła e-mail zarówno do klienta (potwierdzenie zgłoszenia), jak i do administratora (powiadomienie o nowym zleceniu). Dzięki temu żadne zgłoszenie nie ginie, a klient od razu wie, że jego zamówienie zostało przyjęte.
Backend i baza danych
Całość działa na dedykowanym backendzie napisanym w PHP, połączonym z bazą danych MySQL. To rozwiązanie budowane pod konkretne potrzeby tego projektu, a nie gotowy szablon – dzięki temu system rezerwacji, wycena kosztu dojazdu i panel administracyjny działają jako jedna spójna całość.
Bezpieczeństwo
Ponieważ strona przetwarza dane klientów i obsługuje cały proces zamówień, zadbałem o zabezpieczenia na kilku poziomach: dane wpisywane w formularzu są sprawdzane zarówno po stronie użytkownika, jak i na serwerze, sesje administratora są zabezpieczone, a wszystkie punkty komunikacji między stroną a bazą danych są chronione przed nieautoryzowanym dostępem. Dodatkowo wprowadziłem limit liczby zgłoszeń z jednego źródła w krótkim czasie, żeby zapobiec przypadkowemu lub celowemu zalewaniu systemu fałszywymi rezerwacjami.
SEO i zasięg lokalny
Pod kątem widoczności w wyszukiwarce przygotowałem 41 lokalnych landingów – po jednym na każde miasto z obszaru działania firmy. Treść i dane miast zarządzane są centralnie, więc aktualizacja informacji (np. cennika) na wszystkich landingach naraz nie wymaga edytowania każdej strony osobno. Strony są prerenderowane pod kątem SEO, a całość uzupełniają sitemap.xml, plik robots.txt, canonicale, dane Open Graph oraz znaczniki schema – czyli komplet elementów, które pomagają wyszukiwarce prawidłowo zrozumieć i zaindeksować stronę.
Galeria i dopracowanie szczegółów
Strona ma też galerię realizacji z filtrowaniem, miniaturami i podglądem zdjęć w powiększeniu (lightbox), a także własne strony błędu 404, politykę prywatności, regulamin oraz baner cookies zapisujący decyzję użytkownika – czyli wszystkie elementy, które budują profesjonalny odbiór strony, nawet jeśli klient nigdy bezpośrednio ich nie zauważy.
Testy i wdrożenie
Przed uruchomieniem strony w wersji produkcyjnej przeprowadziłem audyt techniczny i testy całego systemu – od formularza rezerwacji, przez panel administracyjny, po pocztę automatyczną – żeby mieć pewność, że wszystko działa poprawnie na żywym serwerze, zanim trafi do pierwszych klientów.