Zadanie polega na stworzeniu mobilnej aplikacji internetowej, która umożliwi:
- przeglądanie studiów, typów zajęć i harmonogramu;
- rezerwowanie miejsc na zajęcia;
- płatność online lub wybór „płatności na miejscu”;
- otrzymywanie potwierdzeń i przypomnień (e-mail + WhatsApp);
- automatyczne tworzenie wydarzeń w Google Calendar studia/trenera.
Administratorzy powinni mieć możliwość zarządzania harmonogramem, studiami, trenerami i bazą klientów.
2. Podstawowa funkcjonalność
2.1. Role użytkowników
1. Klient
- wybór lokalizacji;
- wybór typu zajęcia;
- wybór daty i godziny;
- wprowadzenie danych kontaktowych;
- płatność online / lub wybór „płatności na miejscu”;
- otrzymanie potwierdzenia.
2. Administrator
- zarządzanie firmami, studiami i salami;
- tworzenie/edycja typów zajęć;
- ustawianie harmonogramu;
- zarządzanie trenerami;
- przegląd klientów i rezerwacji.
3. Trener
- otrzymywanie powiadomień o nowych rezerwacjach;
- przeglądanie własnego harmonogramu (czytanie).
3. Scenariusz użytkownika (User Flow)
3.1. Wybór studia
Użytkownik widzi listę:
Studio jest powiązane z własnym Google Calendar.
3.2. Wybór typu zajęcia
Lista zajęć:
- Grupa dorosłych
- Grupa dziecięca
- Moja własna grupa
- Sesja prywatna
Pokazywać:
- nazwa,
- opis,
- cena,
- czas trwania.
3.3. Wybór daty i godziny
Pokazać:
- dostępne sloty (data/godzina),
- trenera,
- liczbę wolnych miejsc.
Niedostępne sloty — są niedostępne.
Sprawdzanie:
- czy sala jest wolna,
- czy trener jest wolny,
- czy nie przekroczono maksymalnej liczby uczestników.
3.4. Dane kontaktowe
Pola:
- Imię,
- E-mail,
- WhatsApp (z kodem kraju),
- zgoda na warunki.
3.5. Płatność
2 opcje:
- Płatność online (API Stripe / Xendit / Midtrans)
- Płatność na miejscu
Po pomyślnej płatności — status „opłacono”.
3.6. Potwierdzenie
Po rezerwacji:
- pokazać szczegóły,
- przycisk „Dodaj do kalendarza”,
- przycisk WhatsApp studia.
4. Integracje
4.1. Google Calendar API
Przy rezerwacji:
- tworzyć wydarzenie,
- dodać klienta i trenera (opcjonalnie),
- przy anulowaniu — usuwać wydarzenie.
4.2. System płatności
Wsparcie:
- kart,
- lokalnych metod,
- minimum walut: IDR.
4.3. WhatsApp
Wariant MVP:
- przez
wa.me — szablon gotowego tekstu.
Opcjonalnie:
- WhatsApp Business Cloud API.
4.4. E-mail
Wysyłanie potwierdzenia — przez dowolną usługę:
- SendGrid / Mailgun / SMTP.
5. Powiadomienia
Dla klienta:
- po rezerwacji — e-mail + (jeśli to możliwe) WhatsApp;
- przypomnienie na 24 godziny i na 2 godziny przed.
Dla trenera:
- szablon e-mail lub WhatsApp.
Dla administratora:
- e-mail o nowej rezerwacji.
6. Panel administracyjny (MVP)
Responsywny (można w tym samym frameworku).
6.1. Firmy
- nazwa,
- logo,
- strefa czasowa,
- e-mail dla Google Calendar.
6.2. Studia
- nazwa,
- adres,
- link do Google Maps,
- liczba sal,
- maksymalna pojemność.
6.3. Trenerzy
- imię,
- e-mail,
- WhatsApp,
- dostępne studia,
- jakie zajęcia może prowadzić.
6.4. Zajęcia (klasy)
- nazwa,
- opis,
- typ,
- cena,
- czas trwania,
- maksymalna liczba.
6.5. Harmonogram
Funkcje:
- tworzenie jednorazowych i powtarzalnych slotów,
- zmiana trenera,
- wybór sali,
- szybka edycja.
6.6. Klienci
- imię,
- e-mail,
- WhatsApp,
- historia rezerwacji.
7. Wymagania techniczne
7.1. Frontend
- Responsywne układ (mobile first)
- TailwindCSS lub inny nowoczesny framework CSS
7.2. Backend
- Node.js + TypeScript
- Express lub NestJS
- lub twoja opcja
- Autoryzacja panelu administracyjnego: JWT
- Role: admin, trener
7.5. Architektura
- Mikroserwisy nie są potrzebne
- Jeden backend + jeden frontend
- Czysta struktura projektu
7.6. Bezpieczeństwo
- HTTPS
- Bezpieczne przechowywanie kluczy API
- Ograniczenie dostępu do panelu administracyjnego
8. Etapy rozwoju
Etap 1 — Podstawowa część klienta
- wyświetlanie studiów
- wybór zajęć
- harmonogram
- rezerwacja
- potwierdzenie na e-mail
Etap 2 — Integracje
- Google Calendar
- płatności
- WhatsApp
Etap 3 — Panel administracyjny
- firmy
- studia
- trenerzy
- zajęcia
- harmonogram
- klienci
Etap 4 — Testowanie i wydanie
- QA
- sprawdzenie integracji
- wdrożenie
9. Oczekiwany rezultat
Programista powinien przekazać:
- Gotową działającą mobilną aplikację internetową.
- Panel administracyjny z rolami.
- Podłączone integracje (Google Calendar, E-mail, WhatsApp, płatności).
- Dokumentację API oraz instrukcję obsługi panelu administracyjnego.
- Środowisko testowe i produkcyjne.
10. Wymagania dla wykonawcy
- Doświadczenie w integracjach z API (preferowane Google/systemy płatności).
- Doświadczenie w tworzeniu paneli administracyjnych.
- Poziom: Middle Full-Stack (samodzielna realizacja pełnego cyklu).