feat: implement user registration and login system #222
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📝 Implement User Registration and Login
Description
Implements complete user registration and login functionality for admin users, interviewers, and candidates as outlined in issue #98.
Changes Made
New Features
Invite Code System
Invitemodel for managing registration invitesEmail Verification
POST /api/auth/verify-emailendpointPOST /api/auth/resend-verificationendpointsendVerificationCodemethod to EmailServiceisEmailVerified,emailVerificationCode, andemailVerificationCodeExpiryfields to User modelLogin Security
loginRateLimitermiddlewarefailedLoginAttemptsandlockUntilfields to User modelModified Files
models/Invite.tsmodels/user.tsisEmailVerified,emailVerificationCode,emailVerificationCodeExpiry,failedLoginAttempts,lockUntilfieldsroutes/authRoutes.ts/registerwith invite code support, added email verification check to/login, added/verify-email,/resend-verification,/inviteendpointsmiddleware/authMiddleware.tsloginRateLimitermiddlewareutils/email.tssendVerificationCodemethodAPI Endpoints
/api/auth/register/api/auth/login/api/auth/verify-email/api/auth/resend-verification/api/auth/invite/api/auth/refresh-token/api/auth/logoutAcceptance Criteria
Testing
To test the flow:
Related Issues
Ref #98