Welcome to the Auth Frontend, an Angular based authentication and authorization interface providing secure API endpoints for user management and authentication.
This project is part of a combined solution that includes a backend service built with Spring Boot.
You can find the backend repository here: Auth Service Backend
Together, these two repositories provide an authentication system, including user registration, login, and secure API access.
-
JWT-Based Authentication:
- Secure login via JWT tokens received from the backend.
- Token storage and automatic inclusion in API requests.
- Authorization via role-based access (User, Admin, SuperAdmin).
-
User Registration and Form Handling:
- Reactive Forms with validation (email, password strength, etc.).
- Custom validators (password matching, input sanitization).
- Error handling and notification messages.
-
Responsive UI:
- Theme switching (dark/light mode).
- Password strength indicator.
- Bootstrap CSS styling for consistent UI.
-
Secure API Communication:
- JWT interceptor to attach tokens to requests.
- CORS handling for frontend-backend communication.
-
Modular Structure:
- Standalone Components:
- Components such as
ThemeSwitcherComponent
andPasswordStrengthComponent
are modular and reusable. - Uses Angular’s standalone feature to improve performance and maintainability.
- Components such as
- Service-Based Architecture:
- Centralized business logic in services like
AuthService
andJwtService
. - Separation of concerns for improved maintainability.
- Centralized business logic in services like
- Standalone Components:
- Angular 19
- TypeScript
- RxJS
- Bootstrap
- Docker
-
Clone the Repository:
git clone [email protected]:stefano-maglione/Auth-frontend-JWT.git cd Auth-frontend-JWT
- Build and Run the Container:
docker compose up --build
- Start the backend service Auth Service Backend
- Open the app: http://localhost/
- email: "[email protected]", password: "adminPassword"
npm run test
Remember me and forget password.