Project

General

Profile

Task #120

Updated by Dana Basheer 16 days ago

The User Dashboard (Home Page) is the main landing screen after successful login. 
 It provides the user with: 

 * Profile overview (Photo + Profile ID) 
 * Preference edit option (left panel) 
 * Navigation icons (right panel) 
 * Daily match recommendations 
 * Matches for today 
 * Photo management 
 * Notifications 

 The dashboard acts as the central control panel for user interaction. 

 **Table** 

 registration_table 

 * profile_id 	 Public ID (VMMYY####) 
 * name 	 User name 
 * dob 	 Used to calculate age 
 * profile_photo 	 Primary photo 

 profile_photo_table 

 * id 	 INT 	 PK 	 Photo ID 
 * profile_id 	 INT 	 FK 	 Reference registration_table 
 * photo_path 	 VARCHAR 	 — 	 Image path 
 * is_primary 	 BOOLEAN 	 — 	 Primary photo 
 * uploaded_date 	 DATETIME 	 — 	 Upload time 
 * is_active 	 BOOLEAN 	 — 	 Status 

 user_preference_table 

 * id 	 INT 	 PK 	 Preference ID 
 * profile_id 	 INT 	 FK 	 User reference 
 * preferred_age_min 	 INT 	 — 	 Min age 
 * preferred_age_max 	 INT 	 — 	 Max age 
 * preferred_state 	 INT 	 FK 	 State 
 * preferred_district 	 INT 	 FK 	 District 
 * preferred_education 	 INT 	 FK 	 Education 
 * preferred_occupation 	 INT 	 FK 	 Occupation 

 user_notification_table 

 * id 	 INT 	 PK 	 Notification ID 
 * profile_id 	 INT 	 FK 	 User reference 
 * message 	 VARCHAR 	 — 	 Notification text 
 * is_read 	 BOOLEAN 	 — 	 Read status 
 * created_at 	 DATETIME 	 — 	 Created time 

 user_match_table (Daily Recommendations) 

 * id 	 INT 	 PK 	 Match ID 
 * user_profile_id 	 INT 	 FK 	 Logged user 
 * matched_profile_id 	 INT 	 FK 	 Recommended profile 
 * match_score 	 INT 	 — 	 Match percentage 
 * created_date 	 DATE 	 — 	 Recommendation date 

 **Validations** 

 Profile Display 

 * Profile ID must: 
    * Be auto-generated 
    * Follow format: VMMYY#### 
    * Be unique 
    * Be read-only 

 Profile photo: 

 * Show primary photo 
 * If no photo, show default image 

 Add Photos 

 * Minimum photos: 1 
 * Maximum photos: 5 
 * Allowed formats: 
    * JPG 
    * JPEG 
    * PNG 
 * Max size: 
    * 5MB per photo 
    * One photo must be primary 

 Preferences Edit 

 * User can edit: 
    * Age range 
    * Location 
    * Education 
    * Occupation 
 * Preferences must exist in master tables 

 Daily Recommendations 

 * System must show matches based on: 
    * Age preference 
    * Location preference 
    * Education preference 
    * Occupation preference 

 Matches Card Display 

 * Each match must show: 
    * Profile photo 
    * Name 
    * Age (calculated from DOB) 

 Notifications 

 * Show unread notification count 
 * Mark notification as read when clicked 

 * Dashboard loads only after login 
 * Profile ID cannot be changed 
 * Match recommendations refresh daily 
 * Only active profiles appear in matches 
 * Only active photos displayed

Back