🗺 User Flow Diagram — P3 Screens
Feed (p3_01) ──────────────────────────────────────────────────────────┐
│ │
├── [Community tab] ───────────────────────────────────── Community Feed (p3_08)
│ │
├── [Tap post] ──────────────────────────────────────── Post Detail + Comments (p3_03)
│ │ │
│ │ └── [⋯ menu] ──── Report Modal (p3_04)
│ └────────────────────────── Saved Posts (p3_05)
│
├── [Tap +] ──────────────────────────────────────────── Create Post (p3_02)
│ │
│ [Post] ─────── Feed (pending → approved)
│
└── [Messages tab] (non-student only) ────────── DM Inbox (p3_06)
│
└── [Tap conversation] ──── DM Chat (p3_07)
Moderation Dashboard (p3_09) ← BizCommit platform team only (separate access)
Community Feed Layer
US-6.1 → US-6.6
Feed & Content Screens
The primary social surface — institution-scoped with community cross-institution option. All posts are AI-moderated before appearing in the feed.
✍️
P3-02
US-6.1
Create Post
US-6.1 · Create Institution-Scoped Post
📄 US-6.1 Spec ·
🐦 post_composition_screen.dart · /feed/compose
⚠️ Partial (Task 3.1 · D-02, D-03 · Task C-06)
⚠️ Partial (Task 3.1 · D-02, D-03 · Task C-06)
Student
Teacher
Parent
Post type grid selector (6 types: Achievement, Question, Discussion, Creative, Resource, Announcement)
Text area with real-time character counter (max 2000 chars)
Image upload with preview and remove (max 2MB, JPEG/PNG)
Tag multi-select (stored as JSONB array)
Visibility toggle: Share to Institution Feed (student default: OFF)
AI moderation notice (post enters pending state)
Open Mockup →
💬
P3-03
US-6.3 / 6.4
Post Detail + Comments
US-6.3 (Comments) · US-6.4 (Upvote)
📄 US-6.3/6.4 Spec ·
🐦 comment_sheet.dart · upvote_button.dart
⚠️ Partial (Tasks 3.5, 3.6 · missing fn-comment-create, fn-upvote-toggle)
⚠️ Partial (Tasks 3.5, 3.6 · missing fn-comment-create, fn-upvote-toggle)
Student
Teacher
Parent
Full post body (no truncation) with complete image view
Engagement bar: upvote (toggle liked/unliked) + comment count + AI Verified badge
Comments sorted newest first; each comment has upvote + reply
Comment ··· menu: report or delete (own comments)
Sticky comment input at screen bottom (max 500 chars)
Real-time new comment notification without refresh
Open Mockup →
🔖
P3-05
US-6.6
Saved Posts
US-6.6 · Save Post Collection
📄 US-6.6 Spec ·
🐦 save_post_button.dart · saved_posts_screen.dart · /feed/saved
⚠️ Partial (Task 3.8 · missing fn-saved-post-toggle · Task C-08e)
⚠️ Partial (Task 3.8 · missing fn-saved-post-toggle · Task C-08e)
Student
Teacher
Parent
Admin
Private collection (only visible to the saving user)
Stats summary: total saved, this week, post types
Sorted newest-saved first
Post thumbnail + type badge + text preview + saved-at timestamp
Unsave button (blue filled bookmark → tap to remove)
Anti-doomscroll boundary at end of collection
Open Mockup →
Direct Messaging Layer
US-7.1 → US-7.6
Direct Messaging Screens
1:1 messaging restricted to teachers, parents, and admins. Students are RLS-excluded at database level (US-7.6). No content moderation for DMs (trusted verified users).
💭
P3-07
US-7.1 / 7.2
DM Conversation Thread
US-7.1 (Teacher↔Teacher) · US-7.2 (Parent→Teacher)
📄 US-7.1/7.2 Spec ·
🐦 conversation_screen.dart · /messages/:id
✅ Done (Task 3.10a) · ❌ new_conversation_screen missing (C-07)
✅ Done (Task 3.10a) · ❌ new_conversation_screen missing (C-07)
Teacher
Parent
Admin
Chat header: recipient avatar, online status, role badge
Message bubbles: gradient (outgoing) vs white card (incoming)
Date dividers for message grouping
Live typing indicator (Supabase Realtime presence)
Read receipts (✓✓ blue = read, ✓ grey = delivered)
Attachment support: image or document (max 2MB)
Open Mockup →
Moderation & Admin Layer
US-6.7 (P3.5 Optional)
Moderation Dashboard
Internal tool for the BizCommit platform team. Not accessible to institution admins. All moderation actions are logged to an immutable audit trail.
🛡
P3-09
US-6.7
Moderation Dashboard
US-6.7 · Platform Team Content Moderation
📄 US-6.7 Spec ·
🐦 moderation_queue_screen.dart · /moderation
✅ Done (Tasks 3.13a, 3.13b) · ❌ moderation_logs table missing (C-03)
✅ Done (Tasks 3.13a, 3.13b) · ❌ moderation_logs table missing (C-03)
BizCommit Platform Team
Dark graphite top bar (admin persona — one of two dark surfaces)
Stats overview: Pending / Reported / Approved / Removed today
Queue tabs: Pending Review | User Reported | Audit Log
Severity strips: 🔴 High (danger) / 🟡 Medium (warn) / 🔵 Low (periwinkle)
Actions: Approve / Remove / Suspend Account / Dismiss
Append-only audit log with moderator ID + timestamp + action
Open Mockup →
🎨 Design System Applied — Key Decisions
Colors Used
gradBrand — FAB, Post button, active tabs
blue — Active nav, links, unread state
pink — Liked state, unread badges
safe — AI Verified badge, online dot, Teacher role
danger — Report button, high-severity strip
Rules Followed
✓ No bottom navigation (per requirement)
✓ Anti-doomscroll boundary on all feeds
✓ AI Verified badge on every post
✓ School chip on all community posts
✓ Dark surfaces restricted: admin bar + mod dashboard only
✓ Playfair Display for logo only; DM Sans for all UI
✓ White cards, snow background, mist borders
✓ gradBrand for interactive CTAs (FAB, Post btn)