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