alumni_lookup

Phase 5: Advanced Features

Champion Portal Development Phase 5

Estimated Effort: 4–6 weeks
Focus: Visit Mode, Map View, Advanced Search

Prerequisites: Phase 1–4 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 5 adds advanced features that enhance discoverability and flexibility:

These features are especially valuable for:


2. Sub-Phases

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

Sub-Phase Name Prompt Est. Time
5.1 Visit Mode “Implement Phase 5.1” 2–3 days
5.2 Map View “Implement Phase 5.2” 2–3 days
5.3 Advanced Search “Implement Phase 5.3” 1–2 days

Sub-Phase 5.1: Visit Mode

Goal: Champions can temporarily view another region’s content without changing their primary region.

Deliverables:

User Flow:

1. Champion (Nashville primary) clicks region selector
2. Chooses "Visit Atlanta"
3. Banner appears: "Viewing Atlanta | Return to Nashville"
4. Dashboard, events, and boards now show Atlanta content
5. Champion clicks "Return to Nashville" → back to primary view

Acceptance Test:

  1. Nashville Champion clicks region selector → chooses “Visit Atlanta”
  2. Dashboard shows Atlanta events and posts
  3. Champion can post to Atlanta regional board
  4. Champion clicks “Return” → Nashville content restored
  5. Champion’s primary region unchanged in profile

Sub-Phase 5.2: Map View

Goal: Geographic map showing Champion locations with privacy controls.

Deliverables:

Privacy Considerations:

Acceptance Test:

  1. Champion enables “Show me on map” in settings
  2. Another Champion views directory → switches to Map view
  3. First Champion appears as pin in their city
  4. Click pin → shows name, photo, city, affinity
  5. Champion who hasn’t opted in does NOT appear on map

Goal: Enhanced directory search with more filters and saved searches.

Deliverables:

Acceptance Test:

  1. Champion searches: “Tech industry” AND “Nashville” AND “2015-2020 grad”
  2. Results show matching Champions
  3. Champion saves search as “Tech Alumni Nashville”
  4. Later, Champion selects saved search → same results (updated)
  5. CLC exports search results as CSV

3. Questions to Answer Before Starting

3.1 Needs Resolution Before Starting (Tier 2)

Question Options Notes
Map view opt-in required? A) Yes (default off) B) No (default on) Privacy — recommend A
Map provider A) Mapbox B) Leaflet/OSM C) Google Maps Cost and licensing
Save search history? A) Yes B) No C) User opt-in Privacy vs convenience
Visit mode persistence A) Session only B) Remember last visit C) Explicit reset UX preference

3.2 Needs Clarification from Stakeholders

Question Who Decides Impact
Map view privacy language Legal Consent flow
CLC export permissions Product/Engagement Data access
Geographic precision level Product Privacy vs utility

4. Scope

4.1 In Scope

Area Deliverables
Visit Mode Region selector, temporary switch, banner, return
Map View Map component, pins, clustering, privacy opt-in
Advanced Search Additional filters, saved searches, CLC export

4.2 Out of Scope

Feature Notes
Native mobile app Future project
Offline mode Future consideration
Proximity-based notifications Too complex for this phase

5. Definition of Success

5.1 Core Acceptance Criteria

Criterion Validation
Champion can visit another region Content switches appropriately
Visit mode is temporary Primary region unchanged
Map view displays Champions Pins appear at city level
Map view respects opt-in Non-opted Champions hidden
Advanced filters work Search returns correct results
Saved searches persist Can reuse saved criteria
CLC can export CSV downloads with results

5.2 Success Metrics

Metric Target
Champions using visit mode 10%+ monthly
Champions opted into map 30%+
Saved searches created 50+

6. Tests to Create

6.1 Model Tests

Model Test Cases
Cp::SavedSearch Valid factory, criteria serialization
Cp::Champion map_visible scope, visit mode methods

6.2 Controller Tests

Controller Test Cases
Cp::VisitsController Set visit region, clear visit, validate region exists
Cp::DirectoryController Map view, advanced filters, saved search apply
Cp::SavedSearchesController Create, list, apply, delete

6.3 Feature/Integration Tests

Feature Test Cases
Visit mode flow Select region → content changes → return → original content
Map view flow Opt in → appear on map; opt out → hidden
Advanced search Multiple filters → save → apply later

6.4 JavaScript/Frontend Tests

Component Test Cases
Map component Renders, pins display, clustering works, popup on click
Region selector Opens, selects, triggers visit

7. Documentation Updates

After completing Phase 5, update:

Document Changes
../README.md Mark Phase 5 complete
../development/DECISIONS.md Record map and privacy decisions
Champion User Guide Add visit mode, map view, advanced search
Privacy Policy Update with map view data usage