System Elite-Fighters, umożliwia użytkownikom zapisywanie się na treningi grupowe i indywidualne. Treningi, wcześniej dodawane przez administratora (trenera), są zarządzane w bazie danych MongoDB. Trener określa dostępność do treningów indywidualnych, a ich potwierdzenie wymaga akceptacji ze strony trenera. Trener ma pełny przegląd oraz statystyki odbytych treningów, może również monitorować obecność zawodników podczas treningu.
Technologie
- Node.js
- Framework Express.js do tworzenia aplikacji webowych po stronie serwera.
- Działa asynchronicznie, obsługując operacje wejścia/wyjścia w czasie rzeczywistym.
- MongoDB
- Baza danych typu dokumentowego.
- Służy do przechowywania informacji o treningach, użytkownikach i potwierdzeniach.
- Frontend – HTML, CSS, JavaScript, Bootstrap, Handlebars
- Umożliwiają tworzenie responsywnych i atrakcyjnych wizualnie interfejsów.
- Handlebars jako silnik szablonów ułatwia generowanie dynamicznych stron.
- AWS EC2
- Całość hostowana na platformie AWS EC2, zapewniającej skalowalność i niezawodność.
Funkcjonalności
Rejestracja i Logowanie
- Rejestracja użytkowników
- Użytkownicy mogą zarejestrować się, dostarczając niezbędne informacje.
- Logowanie do systemu
- Zabezpiecza dostęp do strefy klienta.
- zapisy na treningi możliwe są tylko dla zalogowanych użytkowników, którzy potwierdzili adres email
- Resetowanie hasła
- W razie zgubienia hasła, można podać swój e-mail na który wysyłany jest specjalny link umożliwiający zmianę hasła. Link ważny jest przez określoną ilość czasu
Przegląd Treningów
- Lista dostępnych treningów grupowych i indywidualnych
- Użytkownicy mogą przeglądać dostępne treningi w systemie.
- Szczegóły treningów
- Informacje o czasie, miejscu, trenerze oraz dostępności miejsc.
Zapisy na Treningi
- Zapisy na trening grupowy
- Umożliwia użytkownikom zapisanie się na wybrany trening grupowy.
- W razie przekroczenia dostępnych miejsc użytkownik jest wpisywany na listę rezerwowych. Powiadamiany jest o tym stosownym komunikatem, a w przypadku wypadnięcia z listy rezerwowych użytkownik dostaję e-mail z informacją.
- Zapisy na trening indywidualny
- Użytkownicy wybierają typ treningu oraz godzinę, która jest dostępna.
Zarządzanie Treningami przez Administratora
- Dodawanie treningów do bazy danych
- Administrator (trener) dodaje treningi, określając ich parametry.
- Określanie dostępności do treningów indywidualnych
- Trener określa, kiedy jest dostępny do treningów indywidualnych.
- Potwierdzanie treningów indywidualnych
- Administrator potwierdza treningi indywidualne, wysyłając stosowne powiadomienie e-mailowe.
Powiadomienia i Komunikaty E-mail
- Powiadomienia o potwierdzonych treningach indywidualnych
- Zawodnicy otrzymują powiadomienia e-mailowe po potwierdzeniu treningu indywidualnego.
- Komunikaty o odwołaniu treningu.
- Użytkownicy otrzymują powiadomienia o odwołanych treningach.
Interfejs Użytkownika
- Responsywny interfejs użytkownika
- Dostosowany do różnych urządzeń, zapewniający komfortowe korzystanie.
- Intuicyjny formularz zapisu na trening
- Użytkownik łatwo i szybko może dokonać wyboru treningu i potwierdzić zapis.
Podsumowanie
Projekt Systemu Elite-Fighters: Strefa Klienta dostarcza kompleksowe narzędzie do zarządzania treningami w sposób elastyczny i łatwy w użyciu. Wykorzystanie technologii Node.js, MongoDB i frameworka Express.js zapewnia skalowalność i efektywność działania systemu.
Oprogramowanie jest gotowe do dalszego rozwijania, umożliwiając dostosowanie do specyficznych potrzeb klienta. Dodatkowo, interfejs użytkownika wsparty technologiami HTML, CSS, JavaScript, Bootstrap i Handlebars gwarantuje przyjazne i atrakcyjne doświadczenie dla użytkowników.
Ostateczna wersja systemu została przetestowana pod kątem wydajności i bezpieczeństwa, co pozwala stwierdzić, że spełnia ona założone cele i oczekiwania użytkowników. System jest w dalszym ciągu rozwijany.