Skip to main content

Overview

The Maths Society Platform uses a comprehensive user account system that manages student profiles, competition participation, and access control. Your account determines what challenges you see, which leaderboards you’re on, and how you interact with the platform.

Account Structure

Each user account includes:
  • Full Name: Your display name across the platform
  • Email: Unique identifier and login credential
  • Year: Your current academic year
  • Maths Class: Optional class/group identifier
  • Key Stage: KS3, KS4, or KS5
  • Determines which challenges you see
  • Places you on the correct leaderboard
  • School ID: Links you to your school (optional for regular users, required for summer competition)
  • Used for summer competition school rankings
  • Regular User: Access standard challenges and leaderboards
  • Summer Competition Participant: Access time-limited competition challenges
  • Administrator: Full access to all content and management tools

Account Types

Regular Users

Students accessing standard platform challenges, articles, and leaderboards

Competition Participants

Students registered for summer competition with school affiliation

Administrators

Staff with full platform access for content management and moderation

Key Stage Classification

Your key stage is critical to your platform experience:

KS3 (Key Stage 3)

  • Years: 7-8
  • Challenges: Foundation-level mathematics
  • Leaderboard: Compete with other KS3 students
  • Curriculum: Early secondary mathematics

KS4 (Key Stage 4)

  • Years: 9-11
  • Challenges: GCSE-level problems
  • Leaderboard: Compete with other KS4 students
  • Curriculum: GCSE mathematics content

KS5 (Key Stage 5)

  • Years: 12-13
  • Challenges: A-Level and university prep
  • Leaderboard: Compete with other KS5 students
  • Curriculum: Advanced mathematics topics
Your key stage determines which challenges appear to you and which leaderboard tracks your scores. You only compete with students at your academic level.

Regular vs. Competition Accounts

Regular User Experience

What you see:
  • Regular challenges filtered by your key stage
  • Challenges that have been released (not future-scheduled)
  • Standard leaderboard with individual rankings
  • All articles and newsletters
How you participate:
  • Complete challenges to earn points
  • Climb the key stage leaderboard
  • No school affiliation required
  • No time pressure on challenges

Summer Competition Experience

What you see:
  • Summer competition challenges only (no regular challenges)
  • Time-limited challenges for your key stage
  • Both individual and school leaderboards
  • Competition-specific content
How you participate:
  • Must be affiliated with a school
  • Complete challenges within time limits
  • Earn points for yourself and your school
  • Compete in both individual and school rankings
Summer competition participants cannot access regular challenges during the competition period. Your account type determines your platform experience.

Administrator Accounts

Administrators have special privileges:
  • View all challenges (regular and summer)
  • See unreleased and future-scheduled challenges
  • Access challenges from all key stages
  • Create, edit, and delete challenges
  • Manage articles and newsletters
  • Control user accounts
  • Adjust leaderboard entries
  • Lock/unlock challenges manually
  • Submit answers to locked challenges
  • Test challenges before public release
  • View admin-only statistics and metrics

Security Features

Password Management

Your account is protected by:
  • Hashed Passwords: Passwords are never stored in plain text
  • Werkzeug security implementation
  • Secure password verification on login

Authentication System

The platform uses Flask-Login for:
  • Session management
  • Login state persistence
  • Secure route protection
  • Automatic logout on session expiry
Never share your password with anyone. Administrators will never ask for your password.

User Relationships and Data

Submissions Tracking

Your account maintains relationships with:
  • Answer Submissions: All your challenge attempts
  • Leaderboard Entries: Your scores in each key stage
  • Summer Submissions: Competition challenge attempts (if applicable)
This data:
  • Persists across sessions
  • Enables submission history viewing
  • Powers leaderboard calculations
  • Tracks your progress over time

Content Authorship

If you’re an administrator:
  • Articles you create link to your user account
  • Establishes authorship and accountability
  • Enables filtering content by creator

Cascade Behavior

If your account is deleted:
  • Submissions are removed (orphan prevention)
  • Leaderboard entries are deleted
  • Authored articles remain but lose author relationship
This ensures database integrity while preserving valuable content.

School Affiliation

School Model

Schools in the platform have:
  • Name: Official school name
  • Email Domain: For email-based registration validation
  • Address: Physical location
  • Date Joined: When school was added to platform

User-School Relationship

Your school_id field:
  • Links you to your school (optional for regular users)
  • Required for summer competition participation
  • Enables school leaderboard calculations
  • Groups students for team statistics
Regular users don’t need school affiliation. It only becomes mandatory if you want to participate in the summer competition.

Profile Management

You can manage your account through the profile section:

Viewing Your Profile

Access your profile at /profile to see:

Identity

Full name and email address

Academic Info

Year, key stage, and maths class

School

School name (if affiliated)

Activity

Submission history and leaderboard standings

Changing Your Password

You can update your password at /profile/change_password:
1

Enter Current Password

Verify your identity with your current password
2

Enter New Password

Choose a strong new password
3

Confirm New Password

Re-enter the new password to confirm
After changing your password, you’ll be logged out and need to log in again with the new password.

Deleting Your Account

You can permanently delete your account at /profile/delete_account:
This action is permanent and cannot be undone!Deleting your account will remove:
  • Your user profile and credentials
  • All challenge submissions
  • Leaderboard entries
  • Associated articles (if you’re an author)
Account deletion is handled through cascade rules:
  • Submissions: Deleted automatically
  • Articles: Deleted if you’re the author
  • Leaderboard entries: Removed from all key stages

Account States and Access Control

Challenge Access Logic

1

Authentication Check

Must be logged in to view challenges page
2

Account Type Detection

System checks if you’re a competition participant or regular user
3

Content Filtering

  • Regular users: See released regular challenges for their key stage
  • Competition participants: See summer challenges for their key stage
  • Admins: See everything including unreleased content
4

Submission Permissions

Can only submit answers if challenge is unlocked and appropriate for your account type

Homepage Personalization

When you visit the homepage:
  • Authenticated Users: See challenges filtered by account type and key stage
  • Competition Participants: See recent summer challenges only
  • Regular Users: See recent regular challenges only
  • Unauthenticated: See generic content or login prompt

Best Practices

Update your year and key stage when you progress to ensure you see appropriate challenges.
Your email is your primary identifier and used for important communications.
Decide whether you want regular participation or summer competition before registering.
Know which key stage you’re in to understand the difficulty level of your challenges.

Database Indexing and Performance

Your user account benefits from optimized database queries:
  • Full Name: Indexed for fast search
  • Email: Unique index for login performance
  • Key Stage: Indexed for challenge filtering
  • School ID: Indexed for school queries
This ensures fast page loads even with many users on the platform.

Multi-Key-Stage Support

The platform supports users having leaderboard entries in multiple key stages:
  • If you change key stage, old entries persist
  • Useful for tracking progress over years
  • Each key stage maintains separate leaderboard entry
  • Historical scores preserved

User Representation

In database and logs, users are represented as:
<User Full Name (key_stage)>
For example: <User Alice Smith (KS4)> This provides clear identification in administrative tools.

Next Steps

Start Solving Challenges

Use your account to attempt mathematical challenges

Check Your Ranking

See your position on the key stage leaderboard

Join Summer Competition

Learn about competitive mode with school teams

Build docs developers (and LLMs) love