Skip to content

Wykaz Elementów Systemu

Frontend (Next 14)

Opis

Aplikacja frontend napisana jest w Next.js 14. Jest to framework React.js, odpowiedzialny za interfejs użytkownika. Korzysta z TailwindCSS i ShadcnUI do stylowania UI. Do pobierania danych używa OpenAPI zgodne ze specyfikacjami OpenAPI.

Działanie

Odpowiada za obsługę żądań klienta, prezentację danych i interakcje użytkownika. Korzysta z komponentów React.js i narzędzi takich jak akcje serwerowe i optymalizacje dostarczane przez Next.js

Backend (ASP.NET Core 8)

Opis

Aplikacja backendowa napisana jest w ASP.NET Core i C#. Korzysta ona z PostgreSQL do przechowywania danych i Entity Framework Core z Npgsql do ich odczytywania. Korzystamy również z NSwag do automatycznej dokumentacji OpenAPI, co pozwala nam na automatyczną generację klienta w języku TypeScript za pomocą openapi-typescript.

Działanie

Obsługuje wszystkie żądania z frontendu do naszego Rest API i serwera WebSockets.

Baza Danych (PostgreSQL 16)

Opis

Baza danych PostgreSQL 16 przechowuje wszystkie dane aplikacji, takie jak użytkownicy, wiadomości, grupy, itp.

Działanie

Odpowiada za przechowywanie danych aplikacji, zarządzanie nimi i ich zwracanie w odpowiedzi na żądania z backendu.

Kontenery Docker

Opis

Konteneryzowanie przyśpieszonych wirtualizacją serwisów aplikacji. Umożliwia izolowanie aplikacji oraz ułatwia reprodukcję w dowolnym momencie, dystrybucję i skalowanie.

Działanie

Dzięki niemu jesteśmy w stanie stworzyć kontener łaczący ze sobą frontend i backend, który później możemy łatwo skonfigurować i zgrać na maszynę (serwer)

Nginx

Opis

Serwer proxy Nginx łączy wszystkie serwisy na jednym hoście. Odpowiada ze przekierowanie zapytania do serwera do odpowiedniego serwisu na podstawie użytego URL.

Działanie

Zapewnia integrację wszystkich serwisów aplikacji, umożliwiając dostępność frontendu i backendu pod jednym adresem URL.

Konfiguracja

  • Frontend: Dostępny pod /app/
  • Backend: Dostępny pod /api/