User Authentication application: Implement user authentication using JWT Allow users to register, login, and logout. Include validation for user inputs (e.g., username, password). UI pages: User registration form User login After successful login, dashboard with a welcome message and list of all registered user Log out page Extra: RBAC with two roles. Only Admin will see registered users on dashboard
Stack:
Nest.js
Typescript
Angular 14+
mongodb
Each service has its own README.md
file with instructions on how to run the project. The following is a list of services and their respective README.md
files:
- Add documentation
- Add API documentation
- Add how to run the project
- Add endpoints documentation
- Swagger could be added too
- Add logging with pino for example
Method | API Endpoint | Access | Description |
---|---|---|---|
GET | /api | PUBLIC | Swagger |
POST | /auth/register | PUBLIC | Create a new user account |
POST | /auth/login | PUBLIC | Sign in an existing user |
GET | /auth/logout | PROTECTED | Log out an existing user |
GET | /auth/refresh | PROTECTED | Refresh auth tokens |
POST | /users/register | PROTECTED | Create a new user account |
GET | /users | PUBLIC | Fetch all users |
GET | /users/:username | PUBLIC | Fetch a single user |
DELETE | /users/:id | PROTECTED | Deletes a user from database |
Route | Description | Access | Role |
---|---|---|---|
/ | Userspage | PROTECTED | ADMIN |
/auth | Login/Register page | PUBLIC | |
/logout | Logout page | PUBLIC |
-
Add documentation
-
Add AuthGuard
-
Add TokenInterceptor
-
User Login
-
User Registration
-
List User
-
RBAC support
-
Some unit tests
- Add swagger documentation to all endpoints
- Add i18n support
- Add Docker support
- NgRx
- Add tests
- Add CI/CD