Manage every competition from one place.
Set up events, check registrations, prepare judges, and keep live operations moving.
Quick actions
Continue with the most common admin tasks.
System health
Live service and data status.
Technical details
Native operations are available.
Action required
Items that need administrator attention.
Loading action items...
Welcome, Judge.
Your scoring panel, assigned heats, and official results are one tap away.
Welcome, Announcer.
Control what the audience sees and keep the live competition presentation on cue.
TV display account
This read-only account opens the live audience scoreboard automatically.
Welcome, Timer operator.
Run the official competition clock without access to administrative setup.
Welcome back, Athlete.
Register for open competitions, view results, season rankings, and your Johor Skate account.
Competitions joined
Your competition and category history.
Loading your competition history...
Welcome, Organizer.
Follow competition progress and keep published information close at hand.
Welcome, Registration officer.
Review participants, verify payments, issue QR passes and complete secure event check-in.
Competition updates in one place.
Browse official results, follow season rankings, or create a public Athlete or Judge account.
Register for competition
Open an event from johorskate.my or select an available event below.
Competition entry
My registration / QR
Select an event to view your registration.
Competition payment
Complete your payment through Bayarcash and return here for verification.
Payment pending
Continue to Bayarcash to complete your registration payment.
Payment Ledger
Read-only payment attempts recorded in Firestore and verified by Bayarcash.
| Updated | Payment ID | Athlete / BIB | Event | Amount | Status | Provider reference |
|---|---|---|---|---|---|---|
| Loading payment ledger... | ||||||
Run one event from setup to live control
Prepare an event in advance and return here on competition day. Open an existing event or go directly to its Start List.
Event setup
Open an existing event to continue managing it, or create a new event. Opening an event does not start the competition.
Create Event
| Event | Code | Season | Venue | Dates | Status | Action |
|---|---|---|---|---|---|---|
| Loading Firestore events... | ||||||
Add category
Define competition format and progression for each event category.
Add category to selected event
Event categories
| Category | Format | Judges | Runs | Tricks | Duration | Advance QF | Advance Final | Ranking | Action |
|---|---|---|---|---|---|---|---|---|---|
| Select an event to view categories. | |||||||||
Judge setup
Select a category and fill the exact number of judge slots configured for it.
Category judge panel
Slot 1 is the Head Judge. Other slots are Scoring Judges. Weighting must total 100% unless five-judge drop high/low is enabled.
| Position | Judge | Role | Weight |
|---|---|---|---|
| Select a category to configure its judge panel. | |||
Registration
Add participants, verify payment, set JSRP ranking eligibility and complete check-in.
Confirm category participants
Review the selected category before creating its Start List.
| Participant | Payment | Attendance | Action |
|---|---|---|---|
| Select a Firebase event. | |||
Start List & heats
Prepare or revisit the heat order before competition day. Generating a Start List does not start the competition.
Event start list
Participants remain grouped by category. Select Manual / Edit to change heat and order.
| Category | Stage | Participant | Bib | Check-in | Heat | Order |
|---|---|---|---|---|---|---|
| Select an event to view its roster. | ||||||
Competition operations
Open the dedicated screen for each venue role. All screens share the same realtime heat.
Timer Control
Prepare the heat, run the official clock and publish results.
Judge Panel
See only the current athlete and submit a locked score.
Announcer Console
Follow now, next and the full running order without timer controls.
Live Display
Large-format athlete, timer and next-up display for the venue screen.
Timer Control
One focused console for heat setup, clock control and official publishing.
Competition run
Judge Panel
The running heat is selected automatically. Verify the athlete, enter one score and lock it.
WAITING
BIB —Scoring table
Current heat roster and your locked score.
| # | Athlete | BIB | Attempt | My score |
|---|---|---|---|---|
| Waiting for Start Heat. | ||||
Score active athlete
Drag the slider or use ±0.1, then verify the exact number before locking.
Waiting for live attempt
The score controls will appear when the timer operator starts an attempt.
My recent scores
Only scores locked by this judge.
| Category | Heat | Athlete | BIB | Attempt | Score | Time |
|---|---|---|---|---|---|---|
| No locked scores yet. | ||||||
Announcer Console
Control what the venue display shows without changing the timer, scores or results.
Participant start list
On microphone
JSCMS Live Competition
Waiting for admin game control
—Start List
Leaderboard
Official Podium
Competition will continue shortly
Please stand by
Public results
Published competition results are available without signing in.
| Event | Category / Stage | Position | Athlete | Organization | Official score |
|---|---|---|---|---|---|
| No Firestore results snapshot yet. | |||||
Athlete profile
Only public competition information is shown.
Loading public athlete profile...
Official rankings
Configure category eligibility and point table, resolve participant eligibility, then submit once.
Submit category ranking
| Rank | Athlete | Organization | Category | Points | Events | Season |
|---|---|---|---|---|---|---|
| Loading Firestore rankings... | ||||||
Final Reports & Audit
Locked official records, judge-score detail and relevant audit history.
Select a completed competition category.
Competition report
Official Results
| Stage | Position | Athlete | Attempts | Best / Total | Status |
|---|---|---|---|---|---|
| No report selected. | |||||
Audit History
| Date / time | Action | Module | Reference | Role |
|---|---|---|---|---|
| No report selected. | ||||
QR Check-in
The QR identifies the registration only. Check-in still requires administrator confirmation.
Scan participant QR
Press Start scanner to use the rear camera.Master Data
Super Admin can manage migrated records directly in Firestore without opening Apps Script.
Gateway fee — paid by participant
Applies to new registrations. Existing amounts stay unchanged. Free events have no gateway fee. Percentage is calculated on the registration fee.
Bayarcash configuration
Secure payment provider credentials. Saved values are never displayed again.
Daftar Organizations dan Athletes dahulu. Kemudian klik Add record untuk tambah keahlian atlet dalam kelab.
Select a data type.Use Edit on the left to update a record. Scroll inside the table to view more fields.
| Master data |
|---|
| Select a Firestore data type. |
My profile
Manage your personal information and profile picture.
Johor Skate user
-
PENDINGJPEG, PNG or WebP. Maximum 2 MB.Link existing Johor Skate account
Use this once when your Google email differs from the email registered in Johor Skate.
Migration status
Each write path moves only after atomicity, role and UI tests pass.