WYMAGANIA PROJEKTU
Wymagania funkcjonalne
Rejestracja i logowanie użytkowników
- Aplikacja umożliwia rejestrację nowych użytkowników oraz logowanie do istniejących kont.
- Formularz rejestracyjny znajduje się w pliku: register.html.
- Weryfikacja danych użytkownika odbywa się za pomocą adresu e-mail.
Obsługa wpłat i wypłat za pomocą Stripe
- Aplikacja umożliwia realizację wpłat i wypłat za pomocą usługi Stripe.
- Formularz do realizacji wpłat znajduje się w pliku: account.html.
- Obsługa płatności Stripe jest zintegrowana z API aplikacji.
Gry kasynowe (ruletka)
- Aplikacja oferuje grę w ruletkę.
- Mechanika ruletki została zaimplementowana w klasie: RoulettePost.java.
- Ruletka działa na zasadach losowości generowanej za pomocą RNG.
Gry kasynowe (wyścigi konne)
- Aplikacja oferuje symulację wyścigów konnych.
- Mechanika gry została zaimplementowana w klasie: HorseRacingPost.java.
- Wyniki wyścigów są generowane losowo z uwzględnieniem statystyk koni.
Strona konta użytkownika
- Użytkownicy mają dostęp do strony swojego konta, gdzie mogą sprawdzić historię wpłat, wypłat i gier.
- Implementacja strony konta znajduje się w klasie: Account.java.
- Strona jest dostępna po zalogowaniu pod adresem URL: /account.
Zmiana hasła
- Aplikacja umożliwia użytkownikom zmianę hasła.
- Formularz do zmiany hasła znajduje się w pliku: change_password.html.
- Implementacja zmiany hasła znajduje się w klasie: ResetPasswordPost.java.
Strona dokumentacji wymagań
- Aplikacja posiada stronę dokumentacyjną wymagań użytkownika.
- Obsługa tej strony znajduje się w klasie: Requirements.java.
- Strona jest dostępna pod adresem URL: /requirements.
Wymagania niefunkcjonalne
Uruchamianie za pomocą Docker
- Aplikacja ma być uruchamiana w kontenerze Docker.
- Docker konfiguruje trwałą bazę danych PostgreSQL oraz uruchamia aplikację jako jeden obraz.
- Plik Dockerfile zawiera pełną konfigurację, a szczegóły implementacji znajdują się w pliku README.md.
Konfiguracja środowiska za pomocą Maven
- Aplikacja jest konfigurowana i uruchamiana za pomocą narzędzia Maven.
- Środowisko wymaga ustawienia zmiennych środowiskowych, takich jak POSTGRES_PASSWORD i STRIPE_API_KEY.
- Instrukcje konfiguracji Maven znajdują się w pliku README.md.
Wdrażanie na platformie fly.io
- Aplikacja jest wdrażana na platformie fly.io.
- Plik fly.toml zawiera konfigurację wdrożenia.
- Szczegółowe instrukcje wdrożenia znajdują się w pliku README.md.
Baza danych PostgreSQL
- Aplikacja korzysta z PostgreSQL jako bazy danych.
- Konfiguracja bazy danych znajduje się w pliku Dockerfile.
- Połączenie z bazą danych jest realizowane za pomocą zmiennych środowiskowych.