Task: Implement user registration flow with JWT and mailing
Overview:
- Input validation
- Password hashing
- User creation in the database
- JWT access and refresh token generation
- Refresh token hashing and storage
- Optional welcome email sending
- Proper error handling (e.g., duplicate email)
- Rate limiting on registration endpoint