- Register a user
- Get current user
- Login
- Access token
- Refresh tokens
$PROJECT_ROOT
├── config
├── prisma
│ └── schema.prisma
└── src
├── app.ts # Entry point
├── controller
├── middleware
├── routes
├── schema
├── service
└── utils
- TypeScript - Static tye checking
- Express@5 - Web server
- argon2 - Password hashing
- Zod - Validation
- jsonwebtoken - Signing and verifying JSON web tokens
- Nodemailer - Sending emails
- Pino - Logging
- config - Managing configuration
- Bootstrap application
- User API
- Create user
- Get current user
- Authentication API
- Create user session
- Get new access token with refresh tokens