Sigma Casino

ARCHITEKTURA SYSTEMU

Diagram architektury

diagram architektury

Opis architektury

  • Przeglądarka użytkownika:
    • Użytkownik wchodzi na stronę aplikacji za pomocą przeglądarki internetowej.
    • Przeglądarka komunikuje się z częścią frontendową aplikacji, napisaną w języku JavaScript.
    • Zapytania użytkownika są kierowane przez system DNS, który mapuje nazwę domeny na odpowiedni adres IP serwera hostującego frontend.
  • Frontend (JavaScript):
    • Frontend aplikacji jest odpowiedzialny za prezentację interfejsu użytkownika.
    • Interfejs użytkownika jest generowany dynamicznie na podstawie danych zwracanych przez backend.
    • Frontend komunikuje się z backendem za pomocą zapytań HTTP.
  • Backend (Java i Spark):
    • Warstwa serwerowa aplikacji, napisana w języku Java i korzystająca z frameworka Spark, który umożliwia obsługę żądań HTTP.
    • Backend przetwarza dane, wykonuje logikę biznesową i komunikuje się z bazą danych.
    • Obsługuje także integrację z zewnętrzną usługą płatności (Stripe).
  • Baza danych (PostgreSQL):
    • Przechowuje dane aplikacji, takie jak informacje o użytkownikach, transakcjach itp.
    • Backend komunikuje się z bazą danych za pomocą języka SQL, aby pobierać i zapisywać dane.
    • Baza danych działa w środowisku Docker, co zapewnia łatwość wdrażania i zarządzania.
  • Integracja z usługą płatności (Stripe):
    • Backend obsługuje płatności za pomocą zewnętrznego dostawcy płatności Stripe.
    • Dane dotyczące płatności są przesyłane z backendu do Stripe, który zajmuje się realizacją transakcji.
  • Docker:
    • Środowisko, w którym uruchamiane są komponenty backendu i bazy danych.
    • Zapewnia izolację oraz łatwość wdrażania i skalowania aplikacji.

Przepływ danych w systemie

  • Użytkownik wysyła żądanie do aplikacji poprzez przeglądarkę → żądanie trafia do frontendu.
  • Frontend przekazuje żądanie do backendu w celu przetworzenia.
  • Backend komunikuje się z bazą danych, pobiera lub zapisuje dane.
  • W przypadku operacji płatniczych backend przesyła dane do Stripe.
  • Wyniki są zwracane do frontendu i prezentowane użytkownikowi.