Sigma Casino

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.