Kod źródłowy (GitHub) → Pobierz APK ↓
Sytuacja wyjściowa
Salon z branży beauty potrzebował prostego narzędzia do prowadzenia bazy klientów i przypominania o wizytach. Wcześniej terminy pilnowane były ręcznie, a przypomnienia — jeśli w ogóle — wysyłane „z palca". Łatwo o pomyłkę i o nieobecność klienta (no-show), który zwyczajnie zapomniał o terminie.
Cel
Lekka aplikacja na telefon, która robi dokładnie jedną rzecz dobrze:
- baza klientów: imię i nazwisko, telefon, e-mail,
- umawianie wizyt: klient, data, godzina,
- automatyczne przypomnienie e-mail godzinę przed wizytą.
Rozwiązanie
Zbudowałem natywną aplikację na Androida (Kotlin), świadomie minimalistyczną — tak, żeby była niezawodna i bezkosztowa w utrzymaniu.
1. Dane lokalnie w SQLite
Baza klientów i wizyt trzymana lokalnie w SQLite (warstwa repozytorium nad
SQLiteOpenHelper). Bez chmury i abonamentu — dane zostają na urządzeniu,
co upraszcza kwestie RODO i zeruje koszty stałe.
2. Przypomnienia w tle (WorkManager)
Każda wizyta planuje zadanie w WorkManager z wyzwoleniem na godzinę przed terminem. Zadania przeżywają restart telefonu i działają nawet przy zamkniętej aplikacji. Dodałem też akcję „wyślij teraz", która pozwala zademonstrować, że mechanizm działa, bez czekania godziny.
3. Wysyłka e-mail przez SMTP
Powiadomienia idą e-mailem (SMTP, biblioteka JavaMail) — to kanał darmowy i pewny dla
grupy klientów salonu. Dane konta wysyłkowego wpisuje się w ekranie ustawień,
bez żadnych haseł zaszytych w kodzie. Treść wiadomości jest
konfigurowalna, ze znacznikami {imie}, {data},
{godzina}.
4. Furtka na SMS
W kodzie zostawiłem przygotowane miejsce pod przyszłą wysyłkę SMS przez bramkę (z instrukcją), tak żeby rozszerzenie było kwestią podłączenia płatnego konta, a nie przebudowy aplikacji.
Efekt
Klient dostał gotowe APK do instalacji, krótką instrukcję i kod źródłowy. Aplikacja prowadzi bazę klientów i samodzielnie wysyła przypomnienia godzinę przed wizytą — bez serwera, bez abonamentu, na jednym telefonie. Przetestowana na zestawie kontaktów, z potwierdzonym dostarczeniem przypomnień.
Wnioski
Dla większości salonów sensownym wyborem jest gotowy system rezerwacji z półki — i tak zwykle doradzam. Tu zadanie było inne: mała, samodzielna aplikacja robiąca jedną konkretną rzecz, z pełnym kodem po stronie klienta. Wartość nie leży w skali, tylko w czystym wykonaniu — lokalne dane, niezawodne zadania w tle i brak jakichkolwiek sekretów w kodzie.