Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
6fc42e3
feat: add Your Week Is Ready replay system
Prerna-1416 Jul 18, 2026
37e123d
feat: add premium Share & Export modal for weekly achievement
Prerna-1416 Jul 21, 2026
a293293
feat: add Premium Desktop Weekly Leaderboard (full 8-step build)
Prerna-1416 Jul 21, 2026
848d275
fix: add preview mode so weekly leaderboard is testable without auth
Prerna-1416 Jul 21, 2026
29e4a72
fix: integrate Weekly Leaderboard into the existing Spurti dashboard
Prerna-1416 Jul 21, 2026
f537331
fix: render Weekly Leaderboard inline on the same Spurti page
Prerna-1416 Jul 21, 2026
b09078f
refactor: remove bottom-50 experience from weekly leaderboard inline …
Prerna-1416 Jul 21, 2026
eac7023
feat: replace rank table with weekly performance curve + delete botto…
Prerna-1416 Jul 21, 2026
55dfe1d
feat: add real-time weekly SP progress graph
Prerna-1416 Jul 21, 2026
ffe00a3
revert: remove real-time weekly progress graph + bottom-50 file
Prerna-1416 Jul 21, 2026
b2d6775
revert: restore the original scrollable rank table
Prerna-1416 Jul 21, 2026
18bacb6
feat: add Weekly Recap popups (Champions + AI Recovery Coach)
Prerna-1416 Jul 21, 2026
6983dc4
feat: add Weekly Goal Card — Your Path to Next Week's Champions
Prerna-1416 Jul 21, 2026
228b2d6
Revert "feat: add Weekly Goal Card — Your Path to Next Week's Champions"
Prerna-1416 Jul 21, 2026
5a77f40
feat: replace badge system with new 16-rank gamified progression
Prerna-1416 Jul 21, 2026
abe24b3
fix: replace rank system with dependency-light safe build
Prerna-1416 Jul 24, 2026
474ed68
fix: use TIER_THEME[rank.tier] instead of rank.theme for theme lookups
Prerna-1416 Jul 24, 2026
854b329
fix: pass TIER_THEME[r.tier] to MilestoneMarker (was passing undefined)
Prerna-1416 Jul 24, 2026
7c30049
feat: add Weekly Goal Card + subtle distance message
Prerna-1416 Jul 24, 2026
cc18f61
fix: reference `subhead` not `sub` in WeeklyGoalCard JSX
Prerna-1416 Jul 24, 2026
5410ed6
feat: build WeeklyLearningInsightsPopup + RecoveryCoachPopup
Prerna-1416 Jul 24, 2026
7630610
feat: add SP Trend panel + document weekly recap popup cascade
Prerna-1416 Jul 25, 2026
45c0b0c
feat: wire SPTrendPanel + RecoveryCoachPopup into StudentView
Prerna-1416 Jul 25, 2026
b84ea7b
feat: add ?popups=always bypass for weekly recap popups
Prerna-1416 Jul 25, 2026
d5b05e2
feat: local-dev auth bypass (SPURTI_DEV_AUTH=1 + ?devEmail=)
Prerna-1416 Jul 25, 2026
69556c0
fix: wire 'Got it' close button + move cross bar inside popup
Prerna-1416 Jul 25, 2026
9d44c01
feat: send weekly recovery emails to bottom-50 students on recap fina…
Prerna-1416 Jul 25, 2026
e5cebb3
docs: add PR template body for vicharanashala PR
Prerna-1416 Jul 25, 2026
a6d4283
revert: undo weekly-recap + popup + mailer PR (7 commits)
Prerna-1416 Jul 25, 2026
0018689
feat: re-apply weekly recap popup cascade + bottom-50 recovery emails
Prerna-1416 Jul 25, 2026
7743d06
Resolve merge conflicts with main for journey/vibe/commitments features
Prerna-1416 Jul 25, 2026
2c21751
Merge vicharanashala/main into feat/weekly-recap-popup-and-recovery-e…
Prerna-1416 Jul 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
636 changes: 636 additions & 0 deletions FEATURES.md

Large diffs are not rendered by default.

54 changes: 54 additions & 0 deletions PR_VICHARANASHALA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# feat: Weekly Recap popup cascade + SP Trend heatmap + 16-rank system + bottom-50 recovery emails

## Summary

Adds the Monday-morning weekly recap experience: Champions popup →
Insights popup (auto-flips at 10s) → Recovery Coach popup. Plus the
desktop Weekly Leaderboard, 16-rank progression, 4×6 SP Trend heatmap,
and personalized bottom-50 recovery emails. No schema migrations on
existing collections, no SP calculation changes.

## What's new

- **FreshWeekEmpty** — "A New Weekly Challenge Has Begun!" motivational frame
- **WeeklyLeaderboardDesktop** — premium 3-column desktop shell (inline + full-page), with Top 10 popup, scrollable rank table, 6-widget right rail
- **WeeklyLearningInsightsPopup** — auto-flipping card (Top 10 on front → AI insights on back after 10s)
- **RecoveryCoachPopup** — calm AI recovery plan for bottom-50 students
- **AIRecoveryCoachPopup** — full-page equivalent for the standalone view
- **SPTrendPanel** — 4×6 heatmap + SVG trend line + slope chip, with weakest-cell click → Recovery Coach pre-focused
- **16-rank system** — Bronze III → Master (100–1500 SP), pure CSS animations
- **Recovery email mailer** — sends personalized emails to bottom-50 students on recap finalize (dry-run mode in dev, forwards to Samagama mailer when `SAMAGAMA_MAILER_URL` is set)

## Endpoints added

- `GET /api/weekly/desktop?email=…` — leaderboard + user summary
- `GET /api/weekly/recap?email=…` — recap + AI plan + case + goal + liveProgress
- `GET /api/weekly/sp-trend?email=…` — trend + heatmap + summary

## Files changed (6 commits)

- 9d44c01 — feat: send weekly recovery emails to bottom-50 students on recap finalize
- 69556c0 — fix: wire 'Got it' close button + move cross bar inside popup
- d5b05e2 — feat: local-dev auth bypass (SPURTI_DEV_AUTH=1 + ?devEmail=)
- b84ea7b — feat: add ?popups=always bypass for weekly recap popups
- 45c0b0c — feat: wire SPTrendPanel + RecoveryCoachPopup into StudentView
- 7630610 — feat: add SP Trend panel + document weekly recap popup cascade

## Local dev workflow

```bash
# 1. kill any leftover server
taskkill /F /IM node.exe

# 2. start with local auth bypass
$env:SPURTI_DEV_AUTH='1'
npm run dev

# 3. open the popup testing URL
# http://localhost:5290/spurti?devEmail=<any-student-email>&popups=always
```

## Documentation

- README.md — added summary section pointing readers to FEATURES.md
- FEATURES.md — comprehensive Part 2 with file maps and architectural decisions
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,4 +148,17 @@ This direction can be evaluated through:
## Positioning

This is a general educational motivation engine. It is not only for internships, and it is not only a points table. It is a self-regulated learning support system and research direction that helps students see their progress, stay encouraged, recover from setbacks, and complete any meaningful learning journey.
Displaying PRODUCT.md.

---

## Premium Weekly Recap Experience — `feat/share-export` branch

When a student opens Spurti after Monday 06:00 IST for the first time that week, a 3-stage premium cascade fires automatically before the dashboard becomes interactive:

1. **WeeklyChampionsPopup** — top-10 leaderboard of last week's winners with celebration effects
2. **WeeklyLearningInsightsPopup** — Top-10 on the front, then **auto-flips after 10 seconds** to personalized AI performance insights on the back
3. **RecoveryCoachPopup** — only for bottom-50 students: calm, never-shaming AI recovery plan with Mon–Sat tasks and estimated outcomes

A 16-rank progression system (**Bronze III → Master**) replaces the old Bronze→Legend hierarchy, and a 4×6 SP Trend heatmap visualizes the student's category-day activity with clickable weakest cells that open the Recovery Coach pre-focused on that day.

Full feature documentation: see [`FEATURES.md`](./FEATURES.md) (Part 2, features 18–22).
Loading