Wireframe Index
Login
Forgot Password
Register New Account
Page Purpose: New user registration - Creates account and client profile.
User Context: First-time visitor creating an account.
Next Steps: After registration → Email verification → Login → User Dashboard
Registration Form
Already Have an Account?
Form Validation
Client-side validation:
Email: Required, valid email format, not already registered
Password: Required, minimum 6 characters, must contain letters and numbers
Confirm Password: Must match password
First Name: Required, 2-50 characters
Last Name: Required, 2-50 characters
Country: Required selection
Terms Agreement: Required checkbox
Server-side validation:
Email uniqueness check (database query)
Password strength validation
Institution validation (if provided)
Rate limiting (prevent spam registrations)
Error messages:
"Email address already registered"
"Password must be at least 6 characters"
"Passwords do not match"
"You must agree to the terms of service"
Post-Registration Flow
Create AspNetUsers record
Create Client profile record
Assign default "Client" role
Send verification email
Redirect to login page with success message
User must verify email before full access
Data Model
AspNetUsers Table:
Id (auto-generated GUID)
Email (username)
PasswordHash
EmailConfirmed (false initially)
PhoneNumber
TwoFactorEnabled (false initially)
LockoutEnabled (true)
Client Table:
UserId (FK to AspNetUsers)
FirstName
LastName
InstitutionId (nullable FK)
Country
CreatedDate
AspNetUserRoles Table:
UserId
RoleId (default "Client" role)
Additional Features
Email Verification: Sends verification link to email
Password Security: Hashed using ASP.NET Identity (PBKDF2)
Rate Limiting: Prevents automated account creation
Anti-Spam: CAPTCHA integration (optional)
External Registration: Option to register via Facebook