Wyzwanie
Właściciel salonu solarium BAMBO zgłosił się z problemem nieefektywnego zarządzania karnetami klientów. Dotychczasowy system oparty na papierowych kartach i arkuszach Excel generował liczne problemy:
Dodatkowe wymaganie: System musiał działać całkowicie offline - salon nie miał stabilnego połączenia z internetem, a dane klientów nie mogły być przechowywane w chmurze.
Rozwiązanie
Zaprojektowałem i zaimplementowałem dedykowaną aplikację desktopową dla Windows, która kompleksowo rozwiązuje wszystkie problemy klienta.
Architektura systemu
Aplikacja została zbudowana w technologii Electron, co zapewnia natywne działanie na Windows bez potrzeby przeglądarki. Baza danych SQLite (poprzez sql.js/WebAssembly) przechowuje wszystkie dane lokalnie w bezpiecznej lokalizacji AppData.
Kluczowe funkcjonalności
System składa się z 9 głównych modułów:
Statystyki: aktywne karnety, wizyty dziś, przychód
Szybkie wyszukiwanie, podgląd salda i historii
Rejestracja z generowaniem kodu i QR
Filtrowanie, wyszukiwanie, statusy
Zagregowane dane wszystkich klientów
Pełna historia z eksportem do CSV
Alerty o kończących się karnetach
Audyt wszystkich operacji
Pakiety, łóżka, backup/restore
Bezpieczeństwo danych
Wszystkie dane osobowe (imię, nazwisko, telefon, email) są szyfrowane algorytmem AES-256-GCM z losowym wektorem inicjalizacyjnym (IV) dla każdej operacji.
System jest w pełni zgodny z RODO - umożliwia anonimizację danych usuniętych klientów oraz eksport/usunięcie danych na żądanie.
System backupów
Aplikacja oferuje pełny system backupów z możliwością eksportu i importu całej bazy danych wraz z kluczem szyfrowania. Backup jest zapisywany w formacie .bambo i może być przywrócony na dowolnym komputerze.
Efekty wdrożenia
Po wdrożeniu systemu klient zauważył natychmiastową poprawę w codziennej pracy:
wyszukiwanie klienta zajmuje sekundy zamiast minut
automatyczne naliczanie opłat wyklucza pomyłki
każda wizyta jest zapisana i możliwa do wyszukania
szyfrowanie i lokalne przechowywanie
klienci otrzymują karnety z QR kodem
Podsumowanie techniczne
Projekt obejmował następujące elementy: