- Register a user
- Verify user's email address
- Send forgot password email
- Reset password
- Get current user
- Login
- Access token
- Refresh tokens
- TypeScript - Static tye 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
- Demo
- Code walk-through
- Bootstrap application
- User API
- Create user
- Verify user
- Request reset password code
- Reset password
- Get current user
- Authentication API
- Create user session
- Get new access token with refresh tokens