Project

General

Profile

Task #171

Updated by Dana Basheer about 2 months ago

The Messaging Module allows users to communicate with each other after mutual interest is accepted. 
 Messaging enables interaction between matched profiles to discuss further details before proceeding with marriage discussions. 

 **Table** 

 Structure: user_message_table 

 * id 	 INT 	 PK 	 Unique message ID 
 * sender_profile_id 	 INT 	 FK 	 Profile sending message 
 * receiver_profile_id 	 INT 	 FK 	 Profile receiving message 
 * message_text 	 TEXT 	 — 	 Message content 
 * sent_at 	 DATETIME 	 — 	 Message sent time 
 * is_read 	 BOOLEAN 	 — 	 Read status 
 * is_active 	 BOOLEAN 	 — 	 Status 

 **Validations** 

 sender_profile_id 

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

 receiver_profile_id 

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

 Self Messaging Restriction 

 * User cannot send message to their own profile. 

 message_text 

 * Mandatory 
 * Minimum 1 character 
 * Maximum 2000 characters 
 * No HTML or script injection allowed 

 sent_at 

 * Auto generated 
 * Cannot be NULL 

 is_read 

 * Default value: false 
 * Changes to true when receiver opens message 

 is_active 

 * Default value: true 

 If interest is: 

 * Pending → messaging not allowed 
 * Rejected → messaging not allowed 

 Message History 

 * All messages must remain stored for chat history.

Back