This project is an example of implementing key features in AdonisJS 6 for REST API with Access Tokens as its auth guard.
- User Authentication (Access Token): adding features for login, logout, manage profile using token, and refresh token
- User Authorization (Bouncer): adding user abilities and post policies
- Database (Lucid): implementing migration, seeder, and relationship model
- Validation (VineJS): adding custom rules for exists and unique
- Middleware: implementing auth and bouncer middleware
- Exception Handling: adding handling errors for route not found, unauthorized access, unauthorized action (Bouncer), validation error (VineJS), custom database error (Lucid)
- CRUD Examples: users, user roles, user statuses and posts
- Others: add global helper, add global constants, and add uploaded file route
- Node.js >= 20.6