Cambridge Sword
Management System — Complete Feature Map & Reference · v2.0 · March 2026
28
Fully Live
15
Partial
3
Planned
45+
DB Tables
23
Auto Functions
8
Roles
Authentication & Sessions
Foundation — Underpins every feature below
✅ Fully Working
Every user logs in here. Role assigned at login controls exactly what each person can see and do across the whole system. 8 distinct roles from Superadmin to Parent.
Email/password login
Role-based access (8 roles)
Row-level security on all tables
Welcome email on signup
Session management
Member Management
People · Admin view
✅ Fully Working⚠️ Approvals: Partial
Full CRUD for all members. Pending registrations sit here until approved — approval auto-generates a member number and sends the invitation email.
Create / edit / delete profiles
Approval workflow
Auto member numbers
DBS / Quals upload
CSV bulk import
Invitations refinement
↳ Required by
Equipment loans
Invoices
Events
Safeguarding
Children / Fencers
People · Athlete profiles
✅ Fully Working (Admin + Portal)
Parents register children under their account. Each child has their own profile, medical info, emergency contacts, squad, level, and progression record.
Multiple children per parent
Medical records
Emergency contacts
Squad & level
Terms completed
Achievements & badges
Roles & Permissions
People · Access control
✅ Fully Working
8 roles controlling exactly what each user type can access. Superadmin → Admin → Coach → Equipment Manager → Finance → Safeguarding Officer → Parent → Member.
8 system roles
Multiple roles per user
Row-level DB security
Events & Sessions
Operations · Activity hub
✅ Fully Working⚠️ Reviews: Partial
All club activity runs through here. Create single or recurring sessions. When a session ends, a review request is automatically emailed to the coach.
Recurring sessions
Calendar + list view
Coach allocation
Competitions
Attendance tracking
Member event portal
Session reviews (enhancing)
↳ Session end triggers
Coach review email
Welfare escalation
Competition fees
Coaching & Progression
Operations · Athlete development
✅ Skill ratings working⚠️ Coach dashboard: Partial
Coaches rate fencers on Footwork, Blade Work, Tactics and Competition Readiness after each session. History builds automatically. Badges awarded on milestones.
Skill ratings 1–5
Progression stages
Badges & achievements
Coach notes
Athlete progress portal
Welfare concern flag → safeguarding
Season goals (enhancing)
Equipment & Loans
Operations · Kit lifecycle
✅ Inventory + Loans working⚠️ Repairs + Kit Tracker: Partial
Full inventory tracking with loan management. Blade stock is under Equipment → Stock. Every loan shows the borrower's name. Overdue loans auto-trigger a daily summary email.
Inventory / Blade stock
Loan tracking + borrower name
Overdue alerts (daily 23:59)
Equipment portal for parents
Repairs (basic, enhancing)
Competition kit planner
↳ Find blade stock at
Equipment → Stock tab
Filter by category: Weapons
Finance & Invoicing
Finance · Money in/out
✅ Fully Working
Create invoices manually or bulk-generate by squad/level. Parents see and can track invoices in their portal. Record payments with method and date. Terms completed field available.
Manual + bulk invoices
Paid / overdue / pending status
Payment recording by method
PDF invoice download
Finance dashboard metrics
Terms completed field
Parent payment portal
↳ Invoice sources
Equipment loan fees
Private lessons
Competition entries
Per member/child
Private Lessons
Finance · 1-to-1 coaching
✅ Portal working⚠️ Admin management: Partial
Schedule recurring 1-to-1 coaching series. Auto-generates lesson slots and invoices. Coach marks attendance and adds progress notes after each lesson.
Lesson series scheduling
Auto slot generation
Booking confirmations
Progress notes
Admin coach management (enhancing)
Communications
Comms · All notifications
✅ Email + Push + SMS working⚠️ Bulk comms: Partial
23 automated edge functions handle all notifications. 11 email triggers, SMS via MessageBird for urgent alerts, push notifications via PushAlert. Fully customisable templates with variable substitution.
11 email triggers
Customisable templates
SMS (MessageBird)
Push notifications
Priority levels
Target by squad/level/role
Bulk send scheduling (enhancing)
Safeguarding & Compliance
Safety · Welfare + full audit trail
✅ Incidents + Audit fully working✅ Staff credentials working
Record and track all welfare incidents. Severity levels (minor → critical), status workflow (open → under review → closed), contact log for school/parent/Hannah. Every system action is audit-logged. Hannah and others can be given Safeguarding Officer role access. SW incidents can be pulled through manually — show Freddie at the next session.
Incident log with severity levels
Open / under review / closed status
Follow-up actions documented
School / parent contact log
Welfare flag escalation from sessions
Full audit trail (all system actions)
Multi-user access (add Hannah)
Staff DBS / credentials + expiry alerts
↳ Incidents can arrive from
Coach welfare flag in session review
Direct staff report
Equipment failure report
SW form (manual pull-through)
Documents & Signatures
Safety · Digital consent
⚠️ Structure exists, enhancing
Upload consent forms and policies. Parents sign digitally via the portal — timestamp, IP address, and signature image all captured for full legal trail.
Document library
Digital signature pad
Timestamp + IP logged
Portal doc view (enhancing)
Content, Video & Learning
Content · Training resources
✅ Video library working (Admin + Portal)⚠️ Content management: Partial
Upload and categorise training videos. Assign videos to individual fencers. Members access their assigned library via the portal. Lesson plan templates will live here once developed.
Video upload + categorise
Assign to individual fencers
Member video portal
Progress tracking
Lesson plan templates (to develop)
Page content management
👤 People & Members
| Feature | Status | Who Uses It | Key Capabilities |
|---|---|---|---|
| Member Management | ✅ Live | Admin, Superadmin | |
| Member Approvals | ⚠️ Partial | Admin | |
| Invitations System | ⚠️ Partial | Admin | |
| User Profile (Portal) | ✅ Live | All members | |
| Children Admin | ✅ Live | Admin | |
| Children Portal | ✅ Live | Parents |
📅 Events, Sessions & Coaching
| Feature | Status | Who Uses It | Key Capabilities |
|---|---|---|---|
| Club Sessions Scheduling | ✅ Live | Admin, Coaches | |
| Events Management | ✅ Live | Admin | |
| Events Portal | ✅ Live | Parents/Members | |
| Session Reviews | ⚠️ Partial | Coaches, Admin | |
| Attendance Tracking | ✅ Live | Admin, Coaches | |
| Skill Ratings | ✅ Live | Coaches | |
| Athlete Progress Portal | ✅ Live | Parents/Fencers | |
| Badge System | ✅ Live | Admin, Coaches | |
| Coach Dashboard | ⚠️ Partial | Coaches | |
| Season Goals | ⚠️ Partial | Coaches, Admin | |
| Private Lessons (Portal) | ✅ Live | Parents/Members | |
| Coach Lessons Mgmt | ⚠️ Partial | Coaches, Admin |
⚔️ Equipment
| Feature | Status | Who Uses It | Key Capabilities |
|---|---|---|---|
| Equipment Inventory | ✅ Live | Admin, Equipment Mgr | |
| Equipment Loans | ✅ Live | Admin | |
| Equipment Portal | ✅ Live | Parents | |
| Equipment Repairs | ⚠️ Partial | Equipment Mgr | |
| Repair Stock | ⚠️ Partial | Equipment Mgr | |
| Kit Tracker | ⚠️ Partial | Admin | |
| Competition Kit Planner | ⚠️ Partial | Admin |
💷 Finance
| Feature | Status | Who Uses It | Key Capabilities |
|---|---|---|---|
| Invoice Management | ✅ Live | Admin, Finance | |
| Payment Recording | ✅ Live | Admin, Finance | |
| Payments Portal | ✅ Live | Parents/Members | |
| Loan Payment Letters | ⚠️ Partial | Admin | |
| Reports & Analytics | ⚠️ Partial | Admin, Finance |
🚨 Safety, Compliance & Communications
| Feature | Status | Who Uses It | Key Capabilities |
|---|---|---|---|
| Incidents Management | ✅ Live | Safeguarding Officer, Admin | |
| Audit Logging | ✅ Live | Superadmin | |
| Staff Credentials | ✅ Live | Admin | |
| Documents & Signatures | ⚠️ Partial | Admin, Parents | |
| Email Templates | ✅ Live | Admin | |
| Communications (Bulk) | ⚠️ Partial | Admin | |
| Push Notifications | ✅ Live | All users | |
| SMS Notifications | ✅ Live | Admin | |
| Video Library | ✅ Live | Admin + Members |
⚡ Key Automation Flows
👤 Registration → Portal Access
→Member/parent registers online
→Status = pending, admin notified
→Admin reviews and approves
→Member number auto-generated
→Invitation email sent automatically
→Full portal access granted
⚔️ Equipment Loan → Overdue Alert
→Admin issues loan to member/child
→Email auto-sent to parent
→Parent sees it in their portal immediately
→System checks all loans daily at 23:59
→If overdue → daily summary email to admin
→Admin marks return + condition → status clears
📅 Session End → Coach Review → Welfare
→Session end time reached
→Coach receives review request email
→Coach rates: Footwork, Blade, Tactics, Readiness
→If welfare box ticked → safeguarding officer alerted instantly
→Skill history + progression record updated
→Badge awarded if milestone reached
💷 Invoice → Payment → Confirmation
→Admin creates invoice (manual or bulk by squad)
→Parent sees it in /portal/payments immediately
→If not paid by due date → status = overdue
→Admin records payment received (method + date)
→Confirmation email sent to parent
→Finance dashboard updates in real time
🚨 Safeguarding Incident
→Incident reported (direct entry or welfare flag)
→Severity set: minor / moderate / serious / critical
→Status = open, safeguarding officer notified
→Officer reviews → status = under_review
→Actions, school/parent contact all documented
→Status = closed + reviewer + date recorded
🏅 Coach Rates Fencer → Badge
→Coach submits skill ratings after session
→Ratings stored in progression history
→System checks badge criteria automatically
→If milestone hit → badge awarded
→Parent receives notification
→Badge visible in fencer's portal
🔔 Daily Automated Tasks (23:59)
→System scans all active equipment loans
→Identifies any where due_date has passed
→Daily summary email sent to configured admin
→Can be toggled on/off in Settings
→Notification queue also processed every 5 mins
🎓 Staff Credential Expiry
→Admin uploads credential (DBS, qual, training)
→Expiry date recorded
→System monitors expiry dates automatically
→Status: valid → expiring_soon → expired
→Admin alerted ahead of expiry
🛡️ Who Sees What — Role-Based Access
Superadmin
Full unrestricted access
Everything in the system
System settings + integrations
Delete members + cascade cleanup
Audit log viewer
Role assignment
Admin
Full operational management
All member, children, events data
Equipment + loans management
Finance + invoicing
Communications + bulk messages
No access to system settings
Coach
Athlete development focus
Assigned fencers only (via allocations)
Submit session reviews
Rate fencer skills
Manage private lessons
Read-only member data for assigned fencers
Equipment Manager
Kit lifecycle domain
Full equipment inventory
Issue and manage loans
Log and track repairs
Manage repair stock
Competition kit planning
Finance / Treasurer
Money in/out
Create and manage invoices
Record payments
Finance dashboard + reports
Loan payment letters
CSV export
Safeguarding Officer
Welfare + compliance (e.g. Hannah)
Full incident management
Receive welfare flag alerts
Review + close incidents
Document actions taken
Full audit log access
Parent / Guardian
Their family only
Own profile + children's profiles
Children's equipment loans
Own invoices + payment history
Event registration for children
Fencer progress + badges
Sign documents digitally
Member / Athlete
Own data only
Own profile only
Own equipment loans
Own invoices
Event registration
Own progress + badges + videos