marine-messaging

byIan

Longer paragraph version: The messaging and email system on ScouTracker allows troop leaders to easily communicate with scouts, parents, and other leaders through built-in email tools. Authorized leadership roles can send formatted emails and announcements to individuals or entire groups within the troop, making it easy to share important information about meetings, events, updates, and reminders. The system supports organized troop-wide communication while keeping messaging controlled so that only approved leaders can send mass emails. It can also generate automated notifications and reminders based on troop activity, helping keep members informed and ensuring that important updates are delivered quickly and reliably.

LoginProfileTimelineSchedulerPermissionsInboxAnnouncementsDashboardCompose
Login

Comments (0)

No comments yet. Be the first!

Project Tasks24

#1

Implement Theme & Structure

To Do

As a frontend developer, I want to implement the nautical theme and page structure from the mock-design pages so that all existing scaffold pages (home, login, signup, welcome, dashboard/overview, dashboard/ai-assistant, dashboard/settings) look exactly identical to the mock-design references. This includes applying the Navy Blue (#001F54), Seafoam Green (#2E8B57), White (#FFFFFF), and Light Gray (#F5F5F5) color palette, wave animations, anchor icons, compass elements, and removing any scaffold pages not needed by the SRD user flows. This task must be completed before all other page implementation tasks.

AI 85%
Human 15%
High Priority
2 days
AI Credits:7
Frontend Developer
#3

Build Dashboard Page

To Do

As a frontend developer, I want to implement the Dashboard page based on the existing JSX design (v2) so that Troop Leaders can view an overview with quick actions (Compose, Announcements, Scheduler, Permissions), Scouts can view notifications and events, and Parents can view updates. Includes nautical interactive dashboard with wave animation, compass navigation, message-in-a-bottle animation, and troop activity timeline strip. Links to Compose, Announcements, Scheduler, Permissions, Inbox, and Timeline pages.

Depends on:#1
Waiting for dependencies
AI 88%
Human 12%
High Priority
2 days
AI Credits:8
Frontend Developer
#10

Build Timeline Page

To Do

As a frontend developer, I want to implement the Timeline page based on the existing JSX design (v2) so that Scouts and Parents can view upcoming troop activities, events, and reminders on a scrollable nautical-map-style timeline. Includes activity cards with event type color coding, reminder chips, and filters for activity type. Flows from Dashboard and Profile. Scouts view events; Parents view activity updates.

Depends on:#1
Waiting for dependencies
AI 87%
Human 13%
High Priority
2 days
AI Credits:7
Frontend Developer
#7

Build Scheduler Page

To Do

As a frontend developer, I want to implement the Scheduler page based on the existing JSX design (v2) so that Troop Leaders can set and confirm automated reminders and notifications based on troop activities. Includes SchedulerToolbar with Month/Week/Day view toggles, SchedulerSidebar with mini calendar and recipient group filters, SchedulerCalendarGrid with event chips, UpcomingRemindersPanel, NewReminderModal, and ConfirmScheduleModal. Flows from Dashboard, links to confirmation step.

Depends on:#1
Waiting for dependencies
AI 88%
Human 12%
High Priority
2 days
AI Credits:8
Frontend Developer
#8

Build Permissions Page

To Do

As a frontend developer, I want to implement the Permissions page based on the existing JSX design (v2) so that Troop Leaders can manage which leaders can send mass emails and perform other privileged actions. Includes PermissionsPageHeader, RoleOverviewCards (Leaders/Scouts/Parents counts), LeaderPermissionsTable with search and action columns, RoleAssignmentPanel with assign-role form and role definitions accordion, and PermissionAuditLog. Flows from Dashboard.

Depends on:#1
Waiting for dependencies
AI 87%
Human 13%
High Priority
2 days
AI Credits:7
Frontend Developer
#5

Build Compose Page

To Do

As a frontend developer, I want to implement the Compose page based on the existing JSX design (v2) so that Troop Leaders can write formatted emails, select recipients (individuals or groups), attach files, schedule sends with EST/PST timezone defaults, and send messages. Includes rich-text editor, recipient multi-select with role/group autocomplete, attachment upload, and schedule-send toggle. Flows from Dashboard and links back after send.

Depends on:#1
Waiting for dependencies
AI 87%
Human 13%
High Priority
2 days
AI Credits:7
Frontend Developer
#2

Build Login Page

To Do

As a frontend developer, I want to implement the Login page based on the existing JSX design (v2) so that Troop Leaders, Scouts, and Parents can sign in with role-based tab selection, email/password fields, password visibility toggle, SSO option, and nautical branding (anchor logo, wave animation, compass watermark). The page flows to the Dashboard for all personas. References the approved Login v2 design.

Depends on:#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
1 day
AI Credits:5
Frontend Developer
#4

Build Inbox Page

To Do

As a frontend developer, I want to implement the Inbox page based on the existing JSX design (v2) so that Scouts and Parents can read messages and announcements, and Troop Leaders can view sent/received communications. Includes InboxSidebar with folder navigation (Inbox, Sent, Announcements, Scheduled, Trash), unread badges, label chips, MessageList with thread previews, MessageDetail reading pane, ComposeDrawer, and MessageBottleToast micro-interaction. On mobile the sidebar collapses to a slide-out drawer.

Depends on:#1
Waiting for dependencies
AI 88%
Human 12%
High Priority
2 days
AI Credits:8
Frontend Developer
#6

Build Announcements Page

To Do

As a frontend developer, I want to implement the Announcements page based on the existing JSX design (v2) so that Troop Leaders can post announcements to entire troop groups. Includes announcement composer, recipient group selector, announcement feed/list, and status indicators. Flows from Dashboard. Parents and Scouts see read-only announcement feed.

Depends on:#1
Waiting for dependencies
AI 87%
Human 13%
High Priority
2 days
AI Credits:7
Frontend Developer
#9

Build Profile Page

To Do

As a frontend developer, I want to implement the Profile page based on the existing JSX design (v2) so that all users (Troop Leaders, Scouts, Parents) can view and edit their profile. Includes ProfileHero with avatar edit overlay, wave animation, and role badge; ProfileNav sidebar; PersonalInfoForm; NotificationPreferences with role-restricted toggles; TimezoneLocalization with EST/PST defaults; RoleBadgePermissions read-only panel; SecuritySettings with change-password form; and DangerZone with account deactivation. Flows from Dashboard via user avatar dropdown.

Depends on:#1
Waiting for dependencies
AI 87%
Human 13%
High Priority
2 days
AI Credits:7
Frontend Developer
#13

Implement Scheduler & Reminders API

To Do

As a backend developer, I want to implement the scheduler and reminders REST API using FastAPI so that Troop Leaders can create, list, update, and delete scheduled reminders, and the system can trigger automated notifications at the scheduled time. Endpoints include: POST /reminders, GET /reminders, GET /reminders/{id}, PATCH /reminders/{id}, DELETE /reminders/{id}. Supports EST/PST timezone defaults and repeat frequencies (one-time, weekly, monthly).

Depends on:#2
Waiting for dependencies
AI 78%
Human 22%
High Priority
2 days
AI Credits:6
Backend Developer
#11

Implement Messaging API

To Do

As a backend developer, I want to implement the messaging REST API using FastAPI so that the Inbox and Compose pages can send, receive, list, and manage messages between users. Endpoints include: POST /messages (send), GET /messages (list inbox/sent), GET /messages/{id} (detail), DELETE /messages/{id} (delete/trash), PATCH /messages/{id}/read. Supports role-based access so only authorized leaders can send mass emails.

Depends on:#2
Waiting for dependencies
AI 80%
Human 20%
High Priority
2 days
AI Credits:6
Backend Developer
#12

Implement Announcements API

To Do

As a backend developer, I want to implement the announcements REST API using FastAPI so that Troop Leaders can post announcements to groups and all members can retrieve them. Endpoints include: POST /announcements (create), GET /announcements (list), GET /announcements/{id} (detail), PATCH /announcements/{id} (edit), DELETE /announcements/{id}. Role-based access restricts creation to authorized leaders only.

Depends on:#2
Waiting for dependencies
AI 80%
Human 20%
High Priority
1.5 days
AI Credits:5
Backend Developer
#15

Implement User Profile API

To Do

As a backend developer, I want to implement the user profile REST API using FastAPI so that all users can retrieve and update their profile information, notification preferences, and timezone/localization settings. Endpoints include: GET /users/me, PATCH /users/me, PATCH /users/me/notifications, PATCH /users/me/timezone, POST /users/me/change-password, DELETE /users/me (deactivate). Role information is read-only and managed through the permissions API.

Depends on:#2
Waiting for dependencies
AI 80%
Human 20%
Medium Priority
1.5 days
AI Credits:5
Backend Developer
#16

Implement Timeline/Activities API

To Do

As a backend developer, I want to implement the troop activities and timeline REST API using FastAPI so that Scouts and Parents can retrieve upcoming troop events, activities, and reminders. Endpoints include: GET /activities (list with filters), GET /activities/{id} (detail), POST /activities (leaders only), PATCH /activities/{id}, DELETE /activities/{id}. Supports filtering by type and date range.

Depends on:#2
Waiting for dependencies
AI 78%
Human 22%
Medium Priority
1.5 days
AI Credits:5
Backend Developer
#14

Implement Permissions Management API

To Do

As a backend developer, I want to implement the permissions management REST API using FastAPI so that Troop Leaders can assign roles, grant/revoke specific permissions to other leaders, and view the permission audit log. Endpoints include: GET /permissions/roles, POST /permissions/assign, PATCH /permissions/{userId}, DELETE /permissions/{userId}, GET /permissions/audit-log. Enforces that only Troop Leaders can manage permissions.

Depends on:#2
Waiting for dependencies
AI 78%
Human 22%
High Priority
2 days
AI Credits:6
Backend Developer
#18

Integrate Compose with Messaging API

To Do

As a frontend developer, I want to integrate the Compose page with the messaging API so that Troop Leaders can send real emails/messages, select live recipient groups, attach files, and schedule sends. Replaces mock submission with actual POST /messages calls including recipient group resolution.

Depends on:#5#11
Waiting for dependencies
AI 82%
Human 18%
Medium Priority
1 day
AI Credits:5
Frontend Developer
#22

Integrate Timeline with Activities API

To Do

As a frontend developer, I want to integrate the Timeline page with the activities API so that Scouts and Parents see real upcoming troop events and reminders. Filters connect to API query params. Replaces all static mock data with live responses.

Depends on:#16#10
Waiting for dependencies
AI 82%
Human 18%
Medium Priority
1 day
AI Credits:5
Frontend Developer
#19

Integrate Scheduler with Reminders API

To Do

As a frontend developer, I want to integrate the Scheduler page with the reminders API so that Troop Leaders can create, view, edit, and delete real scheduled reminders. Calendar grid and UpcomingRemindersPanel display live data. NewReminderModal and ConfirmScheduleModal submit to POST /reminders.

Depends on:#13#7
Waiting for dependencies
AI 82%
Human 18%
Medium Priority
1 day
AI Credits:5
Frontend Developer
#21

Integrate Profile with Profile API

To Do

As a frontend developer, I want to integrate the Profile page with the user profile API so that users can view and save real personal information, notification preferences, timezone settings, and change their password. DangerZone deactivation calls DELETE /users/me with confirmation.

Depends on:#15#9
Waiting for dependencies
AI 82%
Human 18%
Medium Priority
1 day
AI Credits:5
Frontend Developer
#20

Integrate Permissions with Permissions API

To Do

As a frontend developer, I want to integrate the Permissions page with the permissions management API so that the LeaderPermissionsTable shows real leader data, the RoleAssignmentPanel submits live role grants, and the PermissionAuditLog displays real audit entries. All CRUD operations connect to the backend.

Depends on:#8#14
Waiting for dependencies
AI 82%
Human 18%
Medium Priority
1 day
AI Credits:5
Frontend Developer
#23

Implement Role-Based Access Control

To Do

As a backend developer, I want to implement role-based access control middleware in FastAPI so that API endpoints enforce that only Troop Leaders can send mass emails, post announcements, manage permissions, and create activities, while Scouts and Parents are restricted to read-only access on appropriate endpoints. Uses JWT claims to carry role information.

Depends on:#14#11#13#12
Waiting for dependencies
AI 75%
Human 25%
High Priority
1.5 days
AI Credits:6
Backend Developer
#17

Integrate Inbox with Messaging API

To Do

As a frontend developer, I want to integrate the Inbox page with the messaging and announcements backend APIs so that real message data is displayed, users can read/delete messages, and the MessageBottleToast fires on new message arrival via polling or websocket. Replaces all mock/static data with live API calls.

Depends on:#4#12#11
Waiting for dependencies
AI 82%
Human 18%
Medium Priority
1.5 days
AI Credits:6
Frontend Developer
#24

Implement Notification Delivery Service

To Do

As a backend developer, I want to implement an automated notification delivery service so that scheduled reminders are sent to the correct recipient groups (Scouts, Parents, Leaders) at the configured EST/PST time. Uses a background task scheduler (e.g., APScheduler within FastAPI) to trigger email/notification dispatch at the scheduled time.

Depends on:#23#13
Waiting for dependencies
AI 72%
Human 28%
Medium Priority
2 days
AI Credits:7
Backend Developer
Login: Sign In
Dashboard: View Updates
Inbox: Read Announcement
Inbox: View Details
Timeline: View Activities
Profile: Update Preferences