Appearance
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/