- Register a user
- Verify user's email address
- Send forgot password email
- Reset password
- Get current user
- Login
- Access token
- Refresh tokens
- TypeScript - Static type checking
- Express@5 - Web server
- Typegoose - Mongoose wrapper for creating TypeScript interfaces and models
- argon2 - Password hashing
- Zod - Validation
- jsonwebtoken - Signing and verifying JSON web tokens
- Nodemailer - Sending emails
- Pino - Logging
- config - Managing configuration