Key Features -
- Roles - User/Admin (Admin controls whole data/app & User can only post reviews/comments only)
- Email and Password JWT Auth
- Email verification
- Password reset
User Model -
{
username: String,
email: String,
password: String<encrypted>,
role: String<User|Admin>,
userCreatedAt: Date,
lastLoginAt: Date
}
API Design -
- POST
/api/auth/signup
- Request:
{ username, email, password }
- No Auth Header
- Response:
success object
user | server error object
- Request: