Sign In / Sign Up Functionality
Data Structure
User Object
interface User {
ulid: string; // ULID
login: string; // Unique username
password: string; // Encrypted password
}
Session Structure
- Index 0: User ID (ULID)
- Index 1: login
Implementation Details
Sign Up Flow
- User fills in login and password
- Server validates Username availability
- Server creates user record
- Server sets session cookie
Sign In Flow
- Client sends login and password as POST request
- Server verifies credentials
- Server generates session cookie
- Server sets user in session
Routes
/login
- GET: Renders sign in form
- POST: Handles sign in
/signup
- GET: Renders sign up form
- POST: Handles sign up