alumni_lookup

Phase 3: Discussion Boards

Champion Portal Development Phase 3

Estimated Effort: 4–6 weeks
Focus: National + Regional Discussion Boards

Prerequisites: Phase 1 & 2 complete

Related Documents:


Table of Contents

  1. Overview
  2. Sub-Phases
  3. Questions to Answer Before Starting
  4. Scope
  5. Definition of Success
  6. Tests to Create
  7. Documentation Updates

1. Overview

Phase 3 introduces discussion boards — the “always-on” community aspect of the Champion Portal. Champions can participate in national conversations and regional coordination.

After Phase 3, Champions can:


2. Sub-Phases

Phase 3 is divided into 3 sub-phases that can be implemented incrementally.

Sub-Phase Name Prompt Est. Time
3.1 Boards Database & Structure “Implement Phase 3.1” 1–2 days
3.2 Posts, Comments & UI “Implement Phase 3.2” 2–3 days
3.3 Moderation & Announcements “Implement Phase 3.3” 1–2 days

Sub-Phase 3.1: Boards Database & Structure

Goal: Create database structure for boards, posts, and comments.

Deliverables:

Acceptance Test:

# In rails console:
national_boards = Cp::Board.national.pluck(:name)
# => ["General", "Jobs", "Mentorship", "Story Leads"]

nashville_board = Cp::Board.regional.find_by(region: Region.find_by(name: "Nashville Metro"))
nashville_board.name # => "Nashville Metro Discussion"

Sub-Phase 3.2: Posts, Comments & UI

Goal: Champions can browse boards, create posts, and comment.

Deliverables:

Acceptance Test:

  1. Champion navigates to “Discussions”
  2. Sees list of national boards + their regional board
  3. Clicks “General” → sees list of posts
  4. Clicks a post → reads content and comments
  5. Adds a comment → comment appears immediately
  6. Creates a new post → post appears at top of board

Sub-Phase 3.3: Moderation & Announcements

Goal: CLCs can moderate and pin content; basic moderation tools.

Deliverables:

Acceptance Test:

  1. CLC creates a pinned announcement in regional board
  2. Champions see it at top of regional board
  3. Champion reports inappropriate post
  4. CLC sees report in moderation queue → hides post
  5. Dashboard shows recent regional posts

3. Questions to Answer Before Starting

3.1 Needs Resolution Before Starting (Tier 2)

Question Options Notes
Allow anonymous posting? A) Yes B) No Recommend: No — verified community
Post edit time limit? A) None B) 15 min C) 1 hour Balance editing vs accountability
Housing/roommate board? A) Yes B) No C) Build if demand Defer — build if organic demand
Rich text editor or Markdown? A) Rich text (WYSIWYG) B) Markdown C) Plain text UX preference
Thread replies or flat comments? A) Threaded B) Flat Complexity vs usability

3.2 Needs Clarification from Stakeholders

Question Who Decides Impact
Which national boards at launch? Product/Engagement Seed data
Moderation escalation process Engagement Team Staff workflow
Notification frequency for board activity Product Email volume

4. Scope

4.1 In Scope

Area Deliverables
Boards National boards, regional boards, board listing
Posts Create, edit, view, list, pagination
Comments Create, view, delete own
Moderation Pin, hide, report, moderation queue
Dashboard Recent posts integration

4.2 Out of Scope (Later Phases)

Feature Phase
@mentions and notifications Phase 4
Affinity-based boards (College, Major, etc.) Phase 5
Rich media embeds (YouTube, etc.) Future
Reactions/likes Future

5. Definition of Success

5.1 Core Acceptance Criteria

Criterion Validation
Champion can view board list All national + regional board visible
Champion can create post Post appears on board
Champion can comment Comment appears on post
CLC can pin announcement Pinned post at top
CLC can hide content Hidden content not visible to Champions
Reported content enters queue Staff can see and act
Dashboard shows recent posts Regional posts displayed

5.2 Success Metrics

Metric Target
Posts per week (pilot) 10+
Comments per post (average) 2+
Active posters (% of Champions) 20+

6. Tests to Create

6.1 Model Tests

Model Test Cases
Cp::Board Scopes: national, regional; associations
Cp::Post Validations, scopes (pinned, recent), associations
Cp::Comment Validations, associations, soft delete
Cp::Report Validations, associations

6.2 Controller Tests

Controller Test Cases
Cp::BoardsController List boards, show board with posts
Cp::PostsController Create, edit own, cannot edit others, view
Cp::CommentsController Create, delete own
Cp::Clc::ModerationController Pin, hide (CLC only)

6.3 Feature/Integration Tests

Feature Test Cases
Board browsing Navigate boards → view posts → view comments
Post creation Create → appears on board → editable by author
Moderation flow Report → queue → CLC hides

6.4 Permissions Tests

Scenario Expected Behavior
Champion posts to regional board Allowed
Champion posts to different regional board Allowed (cross-regional participation)
Champion edits another’s post Rejected
CLC pins post in their region Allowed
CLC pins post in different region Rejected

7. Documentation Updates

After completing Phase 3, update:

Document Changes
../README.md Mark Phase 3 complete
../development/DECISIONS.md Record board decisions
Champion User Guide Add discussion boards section
CLC Training Guide Add moderation procedures