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