Club Admin
Coach Guide
Your club admin panel is everything you need to run a chess club on Elements of Chess — manage your roster, send invites, post announcements, review games, and keep an eye on activity. The platform handles the chess. You handle the people.
Access & Login
01Your club admin panel lives at /admin. Every club on the platform shares this URL — the panel scopes itself to your club automatically based on your login credentials.
http://localhost:3000/admin https://elementschess.com/admin
You must be logged in as a user with is_club_admin = true in the database, assigned to your club. Your account is created by a super admin when your club is onboarded — you'll receive an email with your credentials.
Use the Forgot Password flow on your club's login page at /{your-club-slug}. If you're locked out completely, contact your platform super admin to reset your password directly.
Panel Overview
02The club admin panel has 7 views accessible from the left sidebar. Each view loads data for your club only — you cannot see data from other clubs.
A snapshot of your club's health: active players, games played, new signups this week, and recent activity.
Your full roster. See ELO, verification status, engagement state, and take actions like suspend or promote.
Generate invite links for new members. Set expiry dates and usage limits. Perfect for distributing at meetings.
Full game history for your club. Download PGNs, void games if needed, and search by player name.
Post announcements that appear in the club lobby for all your players. Good for upcoming events or schedule changes.
A short message that displays prominently in the lobby when players log in. Resets when you post a new one.
Dashboard
03The Dashboard is your landing page when you sign in. It shows four key stats for your club at a glance:
• Total Players — all registered accounts in your club
• Active This Week — players who played at least one game in the last 7 days
• Games This Week — total rated games played in the last 7 days
• New This Week — newly registered members in the last 7 days
Below the stats, the dashboard shows your most recent game results — who played, the outcome, the time control, and how long ago. This is a quick way to confirm the platform is being used between coaching sessions.
Players
04The Players view shows your full club roster as a searchable table. Each row shows: username, email, ELO rating, verification status, registration date, and available actions.
Every new player must verify their email before they can play rated games. The status badge shows:
• verified — Email confirmed, player can play games
• unverified — Account created, waiting on email click
• suspended — Account suspended by admin action
If a player says they didn't receive their verification email, use the Resend Verification action on their row. Note that some school email systems quarantine external emails — ask them to check their spam folder, or have IT whitelist your platform domain.
Clicking the action buttons on a player row lets you:
• Suspend — Immediately revokes their ability to log in or play games. Use for conduct issues.
• Unsuspend — Restores access for a previously suspended player.
• Promote to Admin — Grants is_club_admin access. Use for a co-coach or assistant.
• Demote — Removes admin access without deleting their account.
Every player starts at 1200 ELO. Ratings update automatically after each rated game using a standard Elo formula. You cannot manually edit a player's ELO — contact super admin if a correction is needed due to a system error.
Invite Links
05Invite links are the primary way to onboard new players to your club. Anyone with the link can register a new account scoped to your club — no email domain required.
Any active invite can be revoked by clicking Revoke on its row in the active invites table. Revoked links stop working immediately — players who already used the link keep their accounts.
Games
06The Games view shows your club's full game history — up to 50 results by default. Each row shows: both players, the result, time control, ELO changes, and when the game was played.
Use the search bar to filter by player username. The club dropdown (visible to super admins) lets you scope results to a specific club. Press Search to apply filters.
Every completed game has a PGN button that downloads the full Portable Game Notation file. PGN files can be opened in any chess analysis tool — Lichess, Chess.com Analysis, or desktop engines like Stockfish/Arena.
Great use case: download a student's recent game before a coaching session to walk through it together.
If a game needs to be removed from the record (e.g. a technical error, disconnection mid-game, or conduct violation), click Void on the game row. You'll be asked for a reason — this is logged for audit purposes. Voided games don't count toward ELO changes.
Announcements
07Announcements appear in the lobby for all players in your club. They're persistent — players see them each time they load the club page until the announcement is deleted.
Fill in a Title (shown prominently) and Message body. The club selector lets super admins post platform-wide — as a club admin, your announcements go to your club only.
Good uses: upcoming tournament dates, schedule changes, maintenance windows, congratulating a player on a milestone.
Old announcements clutter the lobby. Delete them when they're no longer relevant using the Delete button on each announcement row. Deletion is immediate and cannot be undone.
Message of the Day
08The Message of the Day (MoTD) is a single-line message displayed prominently in the lobby — typically as a banner or highlighted callout when players first land on the club page. It's designed for time-sensitive, short-form communication.
Announcements are multi-line, persist until deleted, and stack if you post multiple. The Message of the Day is a single short message — posting a new one replaces the old one. Think of it as the "today" message vs. a bulletin board.
Use it for: "Club meets today at 3:30pm in Room 104" or "Tournament brackets are live — check the leaderboard!"
Once the day or event is over, delete the MoTD using the Delete button so the lobby stays clean for the next session. If you forget, the next MoTD you post will replace it automatically.
Audit Log
09The Audit Log records every admin action taken in your club — suspensions, promotions, invite creation, game voids, announcements, and more. The 100 most recent entries are shown, sorted newest first.
| Action | When It's Logged |
|---|---|
| user_suspended | A player is suspended by an admin |
| user_unsuspended | A player is reinstated |
| user_promoted | A player is made a club admin |
| user_demoted | Admin rights are removed from a player |
| invite_created | A new invite link is generated |
| invite_revoked | An invite link is manually revoked |
| game_voided | A game is voided by an admin |
| announcement_posted | An announcement is created |
| announcement_deleted | An announcement is removed |
| motd_posted | A Message of the Day is set |
Roles & Permissions
10The platform has three distinct roles. Understanding them helps you manage your roster and know when to contact the super admin for help.
As a club admin, a few actions are reserved for super admins only:
• Change your club's name, slug, colors, or logo
• Delete your club or create a new club
• Edit platform-wide email templates
• View data from other clubs
• Manually adjust a player's ELO rating
• Access platform-wide analytics or the growth reports
For any of the above, reach out to your platform super admin.