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/