Task #122
Updated by Dana Basheer 16 days 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