Grading Event Setup and Execution
Create belt tests, manage participants, and record grading results
1. Overview
Grading events (also called belt tests or examinations) are formal assessments where students demonstrate their skills and knowledge to advance to the next belt rank. DojoMaster provides a comprehensive system for creating, managing, and executing grading events with automatic eligibility checking and result tracking.
Key Features
- Automatic Eligibility Checking: System validates students meet all requirements before enrollment
- Flexible Requirements: Set minimum training days, required stripes, skills, and age requirements
- Four Grading Statuses: SCHEDULED, IN_PROGRESS, COMPLETED, CANCELLED
- Pass/Fail Recording: Record results with scores, feedback, and assessor notes
- Automatic Belt Promotion: Student belts are automatically updated when they pass
- Historical Tracking: Complete audit trail of all grading attempts and results
2. Prerequisites
Before creating a grading event, ensure you have:
- ✓OWNER or SENSEI role (required to create and manage grading events)
- ✓Belt system configured (see Belt System Configuration Guide)
- ✓Students enrolled with belt ranks (see Student Enrollment Guide)
- ✓Stripe requirements configured (optional but recommended - see Stripe/Theme System Guide)
- ✓Attendance tracking active (for minimum training days validation - see Attendance Tracking Guide)
3. Understanding Grading Events
Grading events are formal assessments where students demonstrate proficiency to advance to the next belt rank.
When to Create a Grading Event
- •Regular Schedule: Quarterly or bi-annual belt tests for all eligible students
- •Individual Assessments: When a student has completed all requirements and is ready to test
- •Special Events: Black belt examinations or advanced rank testing
- •Historical Recording: Document past grading events for record-keeping
Grading Event Statuses
📅 SCHEDULED
Grading event is planned but hasn't started yet. Students can be enrolled, and requirements can be modified.
⏳ IN_PROGRESS
Grading event is currently happening. Results can be recorded, but new students cannot be enrolled.
✅ COMPLETED
Grading event is finished. All results are finalized, and belt promotions have been processed. Results can still be viewed and updated if needed.
❌ CANCELLED
Grading event was cancelled and did not take place. No results are recorded.
4. Creating a Grading Event
Follow these steps to create a new grading event:
- 1.Navigate to Grading Events
Go to Grading → Events in the main navigation
- 2.Click "Create Grading Event"
Opens the grading event creation form
- 3.Fill in Basic Information
- Name: Descriptive name (e.g., "Q1 2025 Belt Test", "Black Belt Examination") - 3-100 characters
- Date: When the grading will take place (past dates allowed for historical records)
- Location: Where the grading will be held (optional) - 3-200 characters
- Status: SCHEDULED (default), IN_PROGRESS, COMPLETED, or CANCELLED
- Notes: Additional information about the grading (optional) - up to 2000 characters
- 4.Configure Belt System (Optional)
Select a specific belt system if you want to limit the grading to students from that system (e.g., "Traditional Karate" vs "Junior Karate"). Leave blank to allow students from any belt system.
- 5.Set Minimum Rank (Optional)
Specify the minimum belt rank required to participate (0-20). For example, set to 5 for an advanced grading that only allows students at rank 5 or higher. Leave blank to allow all ranks.
- 6.Save the Grading Event
Click "Create Grading Event" to save. The event is created with SCHEDULED status by default.
Tip: Historical Gradings
You can create grading events with past dates to record historical belt tests. This is useful for migrating existing records into DojoMaster or documenting gradings that occurred before you started using the system.
5. Setting Grading Requirements
Grading requirements are configured at the belt rank level, not at the grading event level. This ensures consistency across all grading events.
Types of Requirements
1. Minimum Training Days
Configured in: Belt System → Belt Rank → "Minimum Training Days" field
How it works: System calculates days since student enrollment. If the student hasn't trained for the minimum number of days, they receive a warning (but can still be enrolled if instructor approves).
Example: Yellow Belt requires 90 training days. A student enrolled 60 days ago will see a warning: "Student has trained for 60 days. Recommended minimum is 90 days (30 days remaining)."
2. Required Stripes
Configured in: Belt System → Belt Rank → Stripe Requirements (see Stripe/Theme System Guide)
How it works: System checks if student has earned all required stripes for their current belt. Students missing required stripes are automatically excluded from eligibility.
Example: White Belt requires 4 stripes (Basic Stance, Basic Blocks, Basic Kicks, Basic Punches). A student with only 3 stripes cannot be enrolled in a grading to Yellow Belt.
3. Required Skills
Configured in: Belt System → Belt Rank → "Required Skills" field (JSON array)
How it works: List of skills or techniques the student must demonstrate during the grading. This is informational and used for instructor reference.
Example: ["Front Kick", "Roundhouse Kick", "Side Kick", "Kata 1", "Kata 2"]
4. Minimum Age
Configured in: Belt System → Belt Rank → "Minimum Age" field
How it works: System calculates student's age on the grading date. Students below the minimum age are automatically excluded from eligibility.
Example: Black Belt requires minimum age 16. A 15-year-old student cannot be enrolled in a Black Belt grading.
Important: Requirements are Belt-Specific
Requirements are configured on the target belt (the belt the student is attempting to achieve), not their current belt. For example, if a White Belt student is testing for Yellow Belt, the system checks the requirements configured on the Yellow Belt rank.
6. Determining Student Eligibility
DojoMaster automatically validates student eligibility when enrolling students in a grading event. The system performs comprehensive checks to ensure students meet all requirements.
Automatic Eligibility Checks
When you attempt to enroll a student, the system validates:
- 1.Student is Active: Inactive or archived students cannot be enrolled
- 2.Student Has Current Belt: Students without a belt assignment must be assigned a starting belt first
- 3.Belt System Match: If grading specifies a belt system, student's current belt must be from that system
- 4.Sequential Progression: Student must attempt the next belt in sequence (rank + 1). Cannot skip belts or attempt lower ranks
- 5.Minimum Age: Student must meet the minimum age requirement for the target belt (if configured)
- 6.Required Stripes: Student must have earned all required stripes for their current belt (if configured)
- 7.Minimum Training Days: Student receives a warning if they haven't met the recommended training days (but can still be enrolled)
Eligibility vs Warnings
❌ Hard Requirements (Blocks Enrollment)
These requirements MUST be met. Students failing these checks cannot be enrolled:
- • Student is inactive
- • Student has no current belt
- • Belt system mismatch
- • Non-sequential belt progression
- • Below minimum age
- • Missing required stripes
⚠️ Soft Requirements (Warnings Only)
These requirements are recommended but not enforced. Students receive warnings but can still be enrolled:
- • Minimum training days not met
Instructor discretion: You can choose to enroll students with warnings if you believe they're ready.
7. Managing Grading Participants
After creating a grading event, you need to enroll students who will participate in the belt test.
Enrolling Students
- 1.Open the Grading Event
Navigate to Grading → Events and click on the grading event
- 2.Click "Enroll Students"
Opens the student enrollment modal
- 3.Select Students and Target Belt
Choose which students to enroll and specify which belt they're attempting. The system automatically filters to show only eligible students.
- 4.Review Eligibility Status
Each student shows their eligibility status with any warnings or blocking issues
- 5.Confirm Enrollment
Click "Enroll Students" to add them to the grading event
Viewing Enrolled Students
The grading event detail page shows all enrolled students with:
- •Student name and student number
- •Current belt rank
- •Belt they're attempting
- •Result status (pending, passed, or failed)
- •Actions to record or view results
Important: Enrollment Restrictions
Students can only be enrolled when the grading status is SCHEDULED. Once the grading is IN_PROGRESS or COMPLETED, no new students can be added. If you need to add students after starting the grading, change the status back to SCHEDULED first.
8. Conducting the Grading Event
On the day of the grading event, follow this workflow to manage the assessment process.
Grading Day Workflow
- 1.Start the Grading
Change the grading status from SCHEDULED to IN_PROGRESS. This locks student enrollment and signals that the grading is underway.
- 2.Conduct the Assessment
Have students demonstrate the required skills and techniques for their target belt rank. Refer to the "Required Skills" field on the belt rank for the assessment criteria.
- 3.Record Results During or After
You can record results as students complete their assessment, or wait until the end of the grading to record all results at once.
- 4.Complete the Grading
Once all students have been assessed and results recorded, change the status to COMPLETED. This triggers automatic belt promotions for students who passed.
Tip: Flexible Recording
You don't have to record all results before completing the grading. Results can be recorded or updated even after the grading is marked as COMPLETED. This allows you to finalize scores and feedback after the event if needed.
9. Recording Grading Results
After assessing each student, record their grading result with pass/fail status, optional scores, and feedback.
Recording a Result
- 1.Click "Record Result" for a Student
Opens the result recording form for that student
- 2.Select Pass or Fail
Choose whether the student passed or failed the grading
- 3.Specify Achieved Belt (Required for Pass)
If the student passed, you must specify which belt they achieved. Typically this is the belt they attempted, but you can select a different belt if needed (e.g., conditional pass to an intermediate rank).
- 4.Add Scores (Optional)
Record scores for different categories (e.g., Kata: 8/10, Kumite: 9/10, Basics: 7/10). This is optional but useful for detailed feedback.
- 5.Provide Feedback (Optional)
Add feedback for the student (up to 2000 characters). This is visible to the student and parents.
- 6.Add Assessor Notes (Optional)
Add private notes for instructors (up to 2000 characters). These are NOT visible to students or parents.
- 7.Save the Result
Click "Save Result" to record the grading outcome
Understanding Pass/Fail Outcomes
✅ PASS
What happens: Student's current belt is automatically updated to the achieved belt when the grading is completed. Their stripe progress resets for the new belt.
Required field: Achieved Belt ID must be specified
Example: White Belt student passes grading → Current belt updated to Yellow Belt → Stripe progress resets to 0% for Yellow Belt requirements
❌ FAIL
What happens: Student's current belt remains unchanged. They can be enrolled in a future grading event when ready.
Required field: None (achieved belt is not specified for failures)
Best practice: Provide constructive feedback explaining what the student needs to improve before their next attempt
Tip: Conditional Passes
If a student demonstrates most skills but needs improvement in certain areas, you can mark them as PASS but provide detailed feedback on what to work on. Alternatively, you can award a different belt than attempted (e.g., student attempts Yellow Belt but achieves Yellow-White Belt intermediate rank).
10. Belt Promotion Process
When a student passes a grading, DojoMaster automatically handles the belt promotion process to ensure data consistency and proper record-keeping.
Automatic Belt Promotion
Belt promotion happens automatically when:
- 1.A grading result is recorded with passed = true
- 2.An achieved belt is specified
- 3.The result is saved (either during or after the grading)
What Happens During Promotion
1. Student Belt Updated
The student's currentBeltId field is updated to the achieved belt ID. This change is immediate and reflected throughout the system.
2. Stripe Progress Resets
The student's stripe progress resets for the new belt. Previous stripes remain in the database (associated with the old belt rank) for historical tracking, but don't count toward the new belt's requirements.
3. Grading Readiness Recalculated
The student's grading readiness percentage resets to 0% for the new belt (since they haven't earned any stripes for the new belt yet).
4. Historical Record Created
The grading result is permanently stored in the database, creating a complete audit trail of the student's progression through belt ranks.
Important: Promotion is Immediate
Belt promotion happens as soon as you save a passing result, even if the grading status is still IN_PROGRESS. You don't need to wait until the grading is marked as COMPLETED. This allows students to see their new belt immediately after passing.
11. Common Pitfalls and Troubleshooting
❌ Problem: Can't enroll students in grading event
Possible Causes:
- • Grading status is IN_PROGRESS or COMPLETED (enrollment only allowed when SCHEDULED)
- • Students don't have current belt assigned
- • Students are missing required stripes for their current belt
- • Students don't meet minimum age requirement for target belt
- • Students are attempting to skip belt ranks (non-sequential progression)
- • Belt system mismatch (student's belt is from different system than grading)
✓ Solution: Check grading status and change to SCHEDULED if needed. Verify students have current belts assigned. Review stripe requirements and ensure students have earned all required stripes. Check minimum age requirements. Ensure students are attempting the next belt in sequence (rank + 1).
❌ Problem: Student not showing in eligible students list
Possible Causes:
- • Student is inactive or archived
- • Student has no current belt assigned
- • Student is missing required stripes
- • Student is below minimum age for target belt
- • Student's current belt is from a different belt system than the grading
- • Student is already enrolled in the grading
✓ Solution: Verify student is active. Assign a current belt if missing. Check stripe requirements and award missing stripes. Verify student meets age requirements. If grading specifies a belt system, ensure student's belt is from that system. Check if student is already enrolled.
❌ Problem: Can't save grading result without achieved belt
Possible Causes:
- • Student marked as PASS but no achieved belt specified
- • This is a validation requirement to ensure data integrity
✓ Solution: When marking a student as PASS, you MUST specify which belt they achieved. Typically this is the belt they attempted, but you can select a different belt if needed (e.g., for conditional passes). If the student failed, mark them as FAIL and leave achieved belt empty.
❌ Problem: Student's belt didn't update after passing grading
Possible Causes:
- • Result was saved with passed = false (failed)
- • No achieved belt was specified in the result
- • Database transaction failed (rare)
✓ Solution: Check the grading result to verify passed = true and achieved belt is specified. If both are correct, try editing the result and saving again. If the issue persists, contact support.
❌ Problem: Student's stripe progress disappeared after grading
This is expected behavior:
- • Stripes are belt-specific
- • When a student advances to a new belt, their stripe progress resets
- • Previous stripes remain in the database for historical tracking
- • Student must earn new stripes for the new belt's requirements
✓ Solution: This is normal behavior. The student's previous stripes are still recorded in the system (associated with their previous belt rank) but don't count toward their new belt's requirements. They start fresh with 0% grading readiness for the new belt.
❌ Problem: Can't change grading status to COMPLETED
Possible Causes:
- • You don't have OWNER or SENSEI role
- • Grading is already COMPLETED or CANCELLED
✓ Solution: Verify you have OWNER or SENSEI role. Check current grading status. Note that you don't need to record all results before marking as COMPLETED - results can be added or updated even after completion.
12. Related Features
Grading events work together with other DojoMaster features:
Belt System Configuration
Configure belt ranks and their requirements
Stripe/Theme System
Understand how stripe requirements affect grading eligibility
Attendance Tracking
Learn how attendance affects minimum training days
Student Enrollment
Manage student records and belt assignments
Student Progress Tracking
Monitor student readiness for grading
AI-Powered Insights
Use AI predictions for grading readiness
13. Next Steps
Now that you understand grading events:
- 1.Configure belt requirements: Set minimum training days, required stripes, skills, and age requirements for each belt rank
- 2.Create your first grading event: Set up a belt test with name, date, and location
- 3.Enroll eligible students: Use the automatic eligibility checking to identify ready students
- 4.Conduct the grading: Change status to IN_PROGRESS and assess students
- 5.Record results: Document pass/fail outcomes with feedback and scores
- 6.Complete the grading: Mark as COMPLETED to finalize belt promotions
