Thursday, March 26, 2026

Person Communication Timeline

Person Communication Timeline

Canadian Elite Volleyball Academy — Development Update • March 27, 2026

Person Communication Timeline

## What & Why Every person in the academy (athletes, parents, coaches) needs a unified view of all communications directed at them — emails sent, announcements they were included in, coach messages, admin notes, event notifications, and newsroom posts targeted to their role. Currently this information is fragmented: emails go to inboxes outside the platform, announcements have no per-person record, and profile messages are a separate system. This task adds a Communication tab to every person's profile showing their complete communication history, and ensures that outbound emails/announcements are linked to the recipient people records so nothing gets lost — especially important for athletes who don't check email.

## Done looks like

### Communication Tab on Person Profiles - Every person profile (community-profile page) gets a new "Communication" tab alongside the existing tabs (Overview, Volleyball, Coaching, Messages, etc.) - The tab shows a unified, reverse-chronological timeline of all communications involving that person: - Emails sent to them — pulled from the email_log table (Task #12), showing subject, date, type, and delivery status - Announcements they were included in — based on role matching, with the announcement title, date, and body expandable inline - Profile messages — existing admin notes, coach-parent messages, and feedback already on their profile, now also visible in the unified timeline - Event communications — session summaries, coach feedback, and event-specific messages linked to events they participated in - Newsroom posts targeted to their role — newsletters and announcements sent to their audience group - Each item is expandable to show the full content - Items can be filtered by type (Email, Announcement, Message, Event) and date range - Unread/new items since last profile visit are highlighted

### Communication Card on Dashboards - Athlete Dashboard and Family Dashboard get a "Recent Communications" card showing the last 5 items from their timeline with a "View All" link to their profile Communication tab - Coach Portal gets a similar card showing communications directed to them

### Linking Outbound Communications to People - When bulk emails or announcements are sent, the system creates links in a junction table connecting the communication to each recipient person - This allows querying "show me everything sent to Person X" efficiently - The email_log entries (from Task #12) are linked to person records via primary_email matching

## Out of scope - Two-way reply functionality from within the Communication tab (messages remain one-directional records) - SMS integration - Editing or deleting communications after they're sent - Push notifications to mobile devices

## Tasks 1. Create the communication_recipients table — A junction table linking communications (email_log entries, announcements, newsroom posts) to person IDs, enabling per-person communication history queries.

2. Build the Communication tab component — A reusable component that fetches and displays a unified timeline of all communications for a given person, with type filters, date filters, and expandable content.

3. Add the Communication tab to community-profile — Register the new tab on the person profile page, passing the person ID to the timeline component.

4. Add Recent Communications cards to dashboards — Add a compact "Recent Communications" card to the Athlete Dashboard, Family Dashboard, and Coach Portal showing the last 5 items with a link to the full timeline.

5. Link outbound communications to recipients — Update the announcement send flow and bulk email flow to record recipient person IDs in the communication_recipients table when messages are dispatched.

## Relevant files - - - - - -

Canadian Elite Volleyball Academy
elitevolleyball.training

No comments:

Post a Comment