Obsługa klubu sportowego

Szczegóły projektu

Założenia projektu

Dotyczące oprogramowania:

  • Oprogramownie musi być responsywne i dostępne do obsługi przez urządzenia mobilne,
  • Oprogramownie musi być dostępne na serwerze zdalnym i być dostępne z każdego miejsca z dostępem do internetu,
  • Oprogramowanie powinno udostępniać obsługę wielu użytkowników o różnych poziomach uprawnień,
  • Oprogramownie powinno obsługiwać więcej niż 1 urządzenie do obsługi karnetów,
  • Oprogramowanie powinno automatycznie rozliczać, monitorować i zarządzać aktywnymi karnetami,
  • Oprogramowanie powinno oferować możliwość generowania raportów okresowych,
  • Oprogramownie powinno umożliwiać wgląd do swoich aktywnych umów przez użytkowników oraz w razie konieczności być przygotowane na obsługę osób niepełnoletnich (dzieci),
  • Oprogramownie powinno autoryzować klubowiczów poprzez karty zbliżeniowe RFID 13.56MHz,

Implementacja oraz wdrożenie

Aplikacja została stworzona i wdrożona do jednego z krakowskich klubów sportowych. Jest cały czas rozwijana oraz w roku 2021 zostanie wykorzystana do obrony tytułu magistra na Uniwerystecie Jagiellońskim. Interfejs wewnętrzny aplikacji został oparty o dobre praktyki oraz z wykorzystaniem stylu opartego o "Boostrap" (licencja MIT). Kolorystyka została dobrana do barw obowiązujących w klubie sportowym.

Backend został stworzony w oparciu o język PHP w wersji 7.3 we frameworku Symfony 4.4. Kod został sprawdzony poprzez PHP CodeSniffer oraz PHP Mess Detector. Stworzone zostało także REST API wykorzystywane przez urządzenia mobilne autoryzujące użytkowników. Dane przechowywane są w bazie danych MySQL.

Aplikacja posiada następujące funkcjonalności, dla użytkownika o standardowych uprawnieniach:

  • Podgląd numeru karty członkowskiej wraz z możliwością wygenerowania kodu kreskowego do okazania w klubie (w przypadku wyjątkowego braku fizycznej karty),
  • Podgląd kartnetów, z podziałem na aktywne i nieaktywne dla swojego konta. W przypadku połączenia konta rodzica z kontem dziecka - dostępny jest też podgląd karnetów dla osób niepełnoletnich,
  • Możliwość przedłużenia kartnetu za pośrednictwem szybkich przelewów oferowanych przez Przelewy24 oraz TPay,
  • Podgląd podstawowych danych dotyczących konta oraz możliwość zmiany hasła,
  • Podgląd historii zdarzeń dla swojego konta, zawierającej m.in obecność na zajęciach, przedłużenia karnetów, wysłane przypomnienia etc.,

Dla menedżera oraz osób zajmujących się recepcją udostępniony zotał panel administracyjny, który oferuje:

  • Podgląd statystyk dotyczących nowych umów, aktywnych karnetów, ilości klubowiczów, trendów w rodzajach umów oraz wykres przychodów z ostatnich 14 dni,
  • Możliwość sprawdzenia dostępu klubowicza, poprzez komputer recepcji,
  • CRUD do zarządzania użytkownikami wraz z możliwością przejrzenia podłączonych umów, dzieci oraz historii dla danej osoby,
  • CRUD do zarządzania umowami (karnetami) z możliwością ręcznego naliczania opłat za karnety oraz podglądem historii płatności dla danej umowy,
  • Możliwość przeglądania historii zdarzeń zarejestrowanych przez aplikację (podział według 25 typów zdarzeń),
  • Moduł generowania raportów płatności za wybrany okres oraz metodę płatności,
  • Moduł do wysyłki ogłoszeń do użytkowników za pomocą wiadomości email oraz SMS,

Aplikacja prócz powyższych funkcjonalności każdego dnia sprawdza ważność karnetów i w razie potrzeby automatycznie wysyła przypomnienia do użytkowników lub je zawiesza. Podczas rejestrowania nowej osoby w klubie wydawana jest jej indywidualna karta członkowka oraz wysyłane jest jej losowe hasło na email oraz jako SMS.

Do przeglądarkowej wersji oprogramowania została również utworzona dedykowana aplikacja na urządzenia z systemem android oraz z systemem Windows (wersja x86 oraz wersja x64). Aplikacja do swojego działania wymaga czytnika kart RFID 13.56MHz. Po zeskanowaniu nośnika aplikacja wymienia informacje z serwerem aplikacji i zwraca osobie z recepcji dane dotyczące posiadacza (czy posiada aktywną umowę, wszystkie wymagane dokumenty, oraz w przypadku karnetów z limitem wejść - czy użytkownik nie przekroczył jeszcze miesięcznego limitu). Komunikaty zwracane przez urządzenie są w postaci prostych informacji na sugestywnym tle, wraz z dźwiękiem zależnym od typu akcji.

Część serwerowa została uruchomiona na serwerze zdalnym. Urządzenie mobilne wraz ze specjalnym uchwytem i czytnikami zostało dostarczone przez autora. Oprogramownie do wysyłki SMSów wykorzystuje mój inny autorski projekt - "Obsługa klubu sportowego".