Sunday, May 24, 2026

Training Teams Admin & Lifecycle

Volleyball Elite Academy development update
Volleyball Elite Academy
Training Teams Admin & Lifecycle

Training Teams Admin & Lifecycle

Volleyball Elite Academy — Development Update • May 24, 2026

--- title: Training Teams admin & lifecycle ---

Training Teams Admin & Lifecycle

What & Why

The 4-week Training Teams workflow — Coaches Apply → Admin Reviews → Athletes Apply → Selection — is already largely built. Schema (, , ), all the role-aware backend endpoints, the public/coach/family page at , the coach application dialog, the athlete application dialog, and the lead-coach selection table are all in place and matching the screenshot the user shared.

The reason no cycles ever appear ("No active cycles at this time") is that there is no admin UI to create a cycle or review coach applications, and no automation to advance a cycle through its phases as dates pass. Admins can't get the flow off the ground today without hand-rolling SQL or curl calls. This task closes those gaps and adds the notifications that make each handoff visible to the people who need to act.

Done looks like

  • A SuperAdmin can open Training Teams, click New Cycle, pick the 4-week window plus the coach-app and athlete-app date windows, set a default team size cap and a max-consecutive-cycles rule, and save. The new cycle appears under Active & Upcoming.
  • During COACH_REVIEW, the SuperAdmin sees every pending coach application for the cycle on a review screen with the coach's name, proposed team name, target age/skill, training emphasis, group-size cap and statement. They can Approve, Reject (with notes), or leave Pending.
  • The SuperAdmin can manually advance a cycle through its phases (PLANNING → COACH_APPS_OPEN → COACH_REVIEW → ATHLETE_APPS_OPEN → ATHLETE_SELECTION → ACTIVE → COMPLETED) from the same screen, with the existing transition guardrails preserved. Invalid transitions are blocked with a clear error.
  • The scheduler automatically advances cycles forward when their phase open/close dates pass (e.g. when is today, PLANNING flips to COACH_APPS_OPEN; when passes, COACH_APPS_OPEN flips to COACH_REVIEW; same for athlete-app dates and cycle start/end). Admins can still override manually. Conflicts (e.g. trying to open athlete apps while there are zero APPROVED coach apps) raise an admin alert instead of silently advancing.
  • Coaches receive an in-app notification and an email when the cycle they applied to opens for review and when their application is approved or rejected (rejection includes the admin notes).
  • Parents/athletes receive an in-app notification and an email when athlete apps open on a cycle they're eligible for, and again when their athlete is selected, waitlisted (with position), or not selected (with alternative-team suggestions).
  • Lead coaches receive an in-app notification and an email each time an athlete applies to their approved team, plus a "Selection window opens today" reminder when the cycle hits ATHLETE_SELECTION.
  • The Command Center / System Overview "Training Teams" tile reflects live counts (active cycles, pending coach reviews, open athlete apps, athletes awaiting selection) so SuperAdmins know where action is needed.

Out of scope

  • Generating a real row + scheduled sessions from an approved team. The schema already has / on coach applications for this, but wiring approval into actual event creation, room booking, and recurring practice scheduling is a separate follow-up.
  • Payment collection for training-team participation (handled by the existing event registration / Corsizio paths once events are generated).
  • Tryout-rubric integration — the existing system is unrelated to the 4-week cycle flow and stays untouched.
  • Mobile app surface — this task is web only.
  • A coach-facing "build a syllabus" tool for the 4 weeks.

Steps

1. Admin cycle CRUD UI — Add a SuperAdmin-only "New Cycle" button and create/edit dialog on the Training Teams page, plus an Edit action on each active cycle card. Form covers cycle window, coach-app window, athlete-app window, default group size cap, max consecutive cycles, and notes. Includes a date-conflict check (coach window before athlete window, both inside the cycle window) before submission. 2. Admin coach-review screen — Add a SuperAdmin-only "Review Coach Applications" panel that appears for cycles in COACH_APPS_OPEN or COACH_REVIEW. Lists every pending coach application with all proposal fields and Approve / Reject (with notes) actions, plus a manual "Advance to next phase" control gated by the existing transition rules. 3. Automatic cycle phase advancer — Add a scheduled task (runs at least daily, ideally hourly) that walks every non-terminal cycle and advances its status when the relevant date threshold has passed, respecting the existing VALID_TRANSITIONS map. Skip cycles with zero approved coach apps when about to open athlete apps; raise a SuperAdmin alert instead. 4. Notifications & emails for each handoff — Hook into the existing notification + email-catalog infrastructure so coach app decisions, athlete-app-open, athlete selection outcomes, new-applicant-for-lead-coach, and selection-window-opens-today events all generate in-app notifications and emails to the right recipients with the right metadata. 5. System Overview / Command Center surfacing — Add a Training Teams operational tile to the SuperAdmin Command Center showing the four live counts (active cycles, pending coach reviews, open athlete apps, athletes awaiting selection) with deep-links into the relevant Training Teams views, and register the area in so coverage tracking stays correct. 6. E2E coverage — Add at least one Playwright spec exercising the full happy path (admin creates cycle → opens coach apps → coach applies → admin approves → opens athlete apps → parent applies → admin advances → coach selects) so this surface joins the mapped System Overview areas.

Relevant files

- - - - - - - - -

Volleyball Elite Academy

Reply to this email — we read every reply.

You received this because you have an account with Volleyball Elite Academy.

elitevolleyball.training

No comments:

Post a Comment