Volleyball Elite Academy development update
|
Volleyball Elite Academy
EV ↔ Corsizio side-by-side reconciliation screen
|
EV ↔ Corsizio side-by-side reconciliation screenVolleyball Elite Academy — Development Update • May 15, 2026
EV ↔ Corsizio side-by-side reconciliation screen
What & Why Once a Corsizio event is linked to an EV academy event, the two sides drift over time — Corsizio is the source of truth for registrations and payments, but EV holds checklists, attendance, communications, and reports. Today an admin can see both sides only by opening the Corsizio Sync dashboard for one and the EV event editor for the other. This task adds a single side-by-side reconciliation view per linked event pair, showing every metadata field on both sides with a diff highlight and a per-field "Pull from Corsizio" / "Keep EV value" choice. Nothing auto-applies — admin chooses every field individually.
Done looks like
- From the Corsizio Sync dashboard, every linked event row has a "Reconcile" button that opens a new side-by-side screen (or modal) for that pair.
- The screen shows a two-column layout: EV value on the left, Corsizio value on the right, with one row per comparable field (name, start date, end date, location, max spots, price, registration count, status).
- Fields that match render in a neutral tone; fields that differ render with an amber highlight and a "≠" indicator.
- Each differing field has two buttons: "Pull from Corsizio" (overwrites the EV value) and "Keep EV value" (dismisses the diff for this field for the current session). Buttons are disabled for fields that already match.
- Pulling from Corsizio writes to the EV academy_events row and triggers a re-render of that field as "matched". The change is logged so admins can audit who reconciled what.
- A header summary shows "X of Y fields match" and a "Last reconciled" timestamp.
- The screen never writes back to Corsizio (the API is read-only — confirmed by the 2026-05-13 audit in §3).
Out of scope
- Reconciling individual registrations (this task is event metadata only).
- Bulk "pull all" buttons — every field decision is per-field by design.
- Auto-running reconciliation on a schedule (admins open it manually).
- Pushing any value back to Corsizio.
Steps 1. Reconcile route + entry point — Add a new admin-only page at (or equivalent), and add the "Reconcile" button to each linked-event row in the existing Corsizio Sync dashboard. 2. Diff data fetch — Build a server endpoint that, given a linked Corsizio event ID, returns both sides as a structured payload: the latest cached Corsizio metadata (already in ) and the current EV academy_events row, with a per-field comparison. 3. Side-by-side UI — Render the two columns with one row per comparable field, amber highlight on diffs, neutral tone on matches, and the two per-field action buttons. 4. Pull-from-Corsizio mutation — Implement the per-field write to academy_events (one field at a time, each in its own mutation). Refresh the diff after each successful write. 5. Audit logging — Record each "Pull from Corsizio" action (who, when, which field, old → new) in an existing audit log or a small new table so admins can later see what was changed. 6. Header summary — Show "X of Y fields match" plus the most recent timestamp at the top of the screen.
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