Waitlist Requests
The Waitlist Request entity manages early access and beta program requests for Wrkbelt. It captures essential information about potential users and their organizations.
Schema Definition
type WaitlistRequest = {
// Base Properties
_id: string; // MongoDB ObjectId
first_name: string; // Required first name
last_name: string; // Required last name
email: string; // Required unique email
company_name: string; // Required company name
company_website: string; // Required company website
// Timestamps
createdAt: Date; // Auto-generated
updatedAt: Date; // Auto-updated
} & BaseEntity;
Field Descriptions
Base Properties
| Field | Type | Required | Unique | Description |
|---|---|---|---|---|
_id | ObjectId | Yes | Yes | Unique identifier for the request |
first_name | string | Yes | No | First name of the requester |
last_name | string | Yes | No | Last name of the requester |
email | string | Yes | Yes | Email address of the requester |
company_name | string | Yes | No | Name of the requester's company |
company_website | string | Yes | No | Website of the requester's company |
Validation
-
Email Validation
- Must be a valid email format
- Must be unique across all waitlist requests
- Case-insensitive comparison
-
Website Validation
- Must be a valid URL format
- Should include protocol (http/https)
-
Name Validation
- Required first and last names
- No special characters allowed
Request Lifecycle
-
Creation
// Example of creating a waitlist request
const request = {
first_name: "John",
last_name: "Doe",
email: "john.doe@example.com",
company_name: "Acme Corp",
company_website: "https://acme.com"
}; -
Processing
// Example of checking for duplicate requests
const existingRequest = await WaitlistRequest.findOne({
email: email.toLowerCase()
});
Security Considerations
-
Data Protection
- Email addresses should be stored securely
- Personal information handling compliant with GDPR
- Rate limiting for submission endpoints
-
Spam Prevention
- Email verification recommended
- CAPTCHA or similar protection
- IP-based rate limiting
Performance Considerations
-
Indexes
- Unique index on
emailfield - Compound indexes if needed for reporting
- Unique index on
-
Query Optimization
- Case-insensitive email lookups
- Efficient duplicate checking