New Dating Site Design

Job ID: 39037951

Budget: $250 – $750 CAD

Design a dating site, with optimal considerations for security.

Security Requirements:

Must use HTTPS throughout, all data in any database is encryped using AES256, bcrypt/Argon2/PBKDF2 to hash user passwords, OAuth2.0 for secure 3rd party logins, all inputs are validated using input validation to prevent SQL injection, Cross Site scripting and CMD injection, rate limit APIs to prevent brute force/DDos attacks, OAuth for API Authentication.

Instead of likes - user send each other "Roses"

Messages are controlled, every day 3 credits are placed in a users account - they can send up to those 3 credits, the maximum number of saved credits is 6 - to prevent spammers

Information to be collected:

User Identity & Basic Info:

Captcha to prevent bots

Username to be shown on site (Good for anonymity, while also having a recognizable handle)
First Name (First names are generally enough for privacy, unless you require full names)
Last Name (Consider if this is necessary for initial use—may be optional)
Age/Date of Birth (Important for age verification and matching)
Gender (This is essential for identity and matching; consider adding “Prefer not to say” or a “Custom gender” option for inclusivity)
Gender Seeking (Ideal for matching preferences, and to give clarity on who they’re looking for)
Occupation (Helps to understand lifestyle and values, but could be made optional to maintain privacy)
What you’re searching for (Relationship, friends, lovers—important for aligning user goals)

Location & Security:

Address (Can be sensitive—consider a general area or city instead, and keep the actual address private for safety reasons)
IP Address & Current Location (Essential for security and geographical matching, but be transparent about how this data is used to build trust with users)
All IP addresses used and geographic count (Could be useful for tracking unusual activity or fraud detection, but make sure users understand this is part of your security measures)
User Agent String
Computer ID (Definitely useful for banning purposes, ensuring that users cannot easily evade bans; but this needs clear user consent and transparency)

User Preferences & Lifestyle:

Relationship Status (Single, Divorced, Widowed, etc., could add context to what users are looking for)
Do you want children? (Helps users find others with similar family goals)
Smoking (Non-smoker, Social smoker, etc.)
Drinking (Non-drinker, Social drinker, etc.)
Pets (Do they have pets, or do they like pets?)
Dietary Preferences (Vegetarian, Vegan, etc., for lifestyle matching)
Lifestyle/Activity Level (Active, sedentary, etc.—helps match with people with similar energy levels)

Personality & Interests:

Short Bio or Introduction (A freeform section where users can describe themselves in their own words)
Hobbies & Interests (Common activities or passions that help find compatibility)
Music/Movies/Books (Favorites that give deeper insight into personality and shared interests)
What are you passionate about? (Helps users connect over shared passions or causes)
What’s your ideal date like? (This could be a great way to gauge chemistry with potential matches)

Privacy & Safety:

Profile Verification (Users could opt-in for a verification badge to improve trustworthiness)
Profile Visibility (Allow users to choose who sees their profile—public, private, friends only, etc.)
Blocking and Reporting Options (For user safety and to allow them to report inappropriate behavior)

Behavior & Interaction:

How do you like to communicate? (Texting, phone calls, video chats, etc.)
Response Time (Do they prefer instant responses or longer, more thoughtful exchanges?)
Relationship Goals (Long-term, short-term, casual, etc. This helps users with aligned goals connect)

Optional:

What are your deal-breakers? (Would help narrow down potential matches who share similar non-negotiables)
Social Media Links (Optional, for those who want to link their profiles to other platforms, enhancing trust)
Related categories: Website Design Web Security OAuth