Project

General

Profile

Task #122

Updated by Dana Basheer 3 months ago

The Matching Module is responsible for identifying and displaying potential partner profiles based on user preferences and profile compatibility. 

 It is used in: 

 * Dashboard → Daily Recommendations 
 * Matches page 
 * Search results 

 The system compares: 

 * User profile data 
 * User preference data 
 * And generates recommended matches. 

 **Table** 

 user_match_table 

 * id 	 INT 	 PK 	 Unique match record ID 
 * user_profile_id 	 INT 	 FK 	 Logged-in user profile 
 * matched_profile_id 	 INT 	 FK 	 Recommended profile 
 * match_score 	 INT 	 — 	 Compatibility score (0–100) 
 * match_status 	 VARCHAR 	 — 	 Suggested / Interested / Accepted / Rejected 
 * created_date 	 DATETIME 	 — 	 Match generated date 
 * is_active 	 BOOLEAN 	 — 	 Status 

 **Validations** 

 user_profile_id 

 * Mandatory 
 * Must exist in registration_table 
 * Cannot match with itself 

 matched_profile_id 

 * Mandatory 
 * Must exist in registration_table 
 * Must be active profile 

 match_score 

 * Must be between 0 and 100 
 * Auto-calculated by system 

 match_status 

 * Allowed values: 
   * Suggested 
   * Interested 
   * Accepted 
   * Rejected 

 created_date 

 * Auto-generated 
 * Cannot be edited 

 is_active 

 * Default value: true 

 * User cannot match with own profile 
 * Only active profiles can be matched 
 * Matches should respect user preferences 
 * Matches refresh daily 
 * Duplicate matches must not be created 

 **Supporting Table Used** 

 * registration_table 
 * user_preference_table 
 * profile_photo_table 
 * education_master 
 * occupation_master 
 * state_master 
 * district_master 
 * city_master 
 * star_master 
 * raasi_master 
 * sub_caste_master

Back