Projekt demonstracyjny implementujący pełny system uwierzytelniania JWT (JSON Web Token) z wykorzystaniem najnowszych (i przyszłych) wersji Spring Boot (Backend) oraz Angular (Frontend).
- Java 25 - Najnowsza wersja języka Java (Preview/Early Access).
- Spring Boot 3.5.7 - Framework aplikacyjny.
- Spring Security - Zaawansowane mechanizmy uwierzytelniania i autoryzacji.
- Spring Data JPA - Warstwa dostępu do danych.
- JJWT (0.13.0) - Biblioteka do obsługi tokenów JWT.
- MySQL - Relacyjna baza danych.
- Docker Compose - Orkiestracja kontenera bazy danych.
- Angular 21 - Framework frontendowy.
- Tailwind CSS - Framework CSS typu utility-first.
- RxJS - Programowanie reaktywne.
- ngx-cookie-service - Obsługa ciasteczek po stronie klienta.
Przed uruchomieniem upewnij się, że masz zainstalowane:
- Java JDK 25
- Node.js (wersja LTS lub nowsza)
- Docker Desktop (do uruchomienia bazy danych)
Projekt wykorzystuje Docker Compose do uruchomienia instancji MySQL. Uruchom bazę danych z głównego katalogu projektu:
docker compose up -dBaza danych będzie dostępna na porcie 3307 (zmapowanym z wewnętrznego 3306).
Dane dostępowe (zdefiniowane w compose.yml):
- Database:
database - User:
user - Password:
password - Root Password:
root_password
Przejdź do katalogu backendu i uruchom aplikację:
cd backend
# Linux/macOS
./gradlew bootRun
# Windows
.\gradlew.bat bootRunSerwer backendowy wystartuje na porcie 8080.
Przejdź do katalogu frontendowego (fronted), zainstaluj zależności i uruchom serwer deweloperski:
cd fronted
npm install
npm startAplikacja frontendowa będzie dostępna pod adresem http://localhost:4200.
- Rejestracja i Logowanie: Pełny proces uwierzytelniania użytkownika.
- JWT Auth: Bezpieczne przesyłanie tożsamości za pomocą tokenów.
- Ochrona Zasobów: Przykłady endpointów dostępnych tylko dla zalogowanych użytkowników.
- Nowoczesny Stack: Wykorzystanie najnowszych dostępnych wersji bibliotek (Java 25, Angular 21).
backend/- Kod źródłowy aplikacji Spring Boot.fronted/- Kod źródłowy aplikacji Angular.compose.yml- Konfiguracja Docker Compose dla bazy danych.