Skip to main content
Hero Light

Welcome to Maths Society Platform

An interactive Flask web application designed for school math societies. Students can attempt challenges, track progress on leaderboards, compete in timed competitions, and read educational articles and newsletters. Administrators have full control through a powerful admin panel.

Interactive Challenges

Students can attempt math challenges with MathLive input support and scheduled release times

Summer Competition Mode

Timed competitions with locked challenges and real-time leaderboard tracking

Leaderboards & Stats

Track student progress, rankings, and performance statistics across challenges

Articles & Newsletters

Rich content creation with CKEditor support and PDF-friendly file uploads

Core Features

Complete user authentication system with role-based access control:
  • Student accounts with profile management
  • Admin accounts with elevated privileges
  • Secure password handling with Werkzeug
  • Flask-Login session management
Flexible challenge management with advanced features:
  • MathLive input for mathematical expressions
  • Scheduled release times for challenges
  • Automatic answer validation
  • Support for various difficulty levels
  • Track student attempts and progress
Comprehensive admin dashboard for managing the platform:
  • User management (create, edit, delete users)
  • Challenge creation and editing
  • Article and newsletter management
  • Competition scheduling and monitoring
  • Platform analytics and statistics
Rich content creation capabilities:
  • CKEditor integration for WYSIWYG editing
  • File upload system for PDFs and images
  • Newsletter publishing system
  • Article categorization and tagging

Technology Stack

The Maths Society Platform is built with modern, reliable technologies:

Flask 2.1

Python web framework with application factory pattern

SQLAlchemy

ORM with PostgreSQL support and migrations via Alembic

Flask-Login

User session management and authentication

WTForms

Form validation and CSRF protection

CKEditor

Rich text editor for content creation

Flask-Migrate

Database migrations with Alembic

Architecture Highlights

The platform follows Flask best practices with a modular blueprint-based architecture:
app/
    admin/        # Admin routes, forms, templates
    auth/         # Authentication routes & forms
    main/         # Public routes
    profile/      # Profile routes & forms
    static/
        css/      # Modular CSS organization
        images/
        uploads/  # User-uploaded files
    templates/    # Jinja2 templates
The platform uses an application factory pattern (create_app) which enables flexible configuration across development, testing, and production environments.

Security Features

Built with security in mind:
  • Flask-Talisman for HTTPS enforcement and security headers
  • Content Security Policy (CSP) configured for production
  • CSRF Protection via Flask-WTF
  • Rate Limiting with Flask-Limiter (200/day, 50/hour default)
  • Profanity Filtering for user-generated content
  • SQL Injection Protection through SQLAlchemy ORM
  • ProxyFix middleware for proper header handling behind reverse proxies

Who is this for?

School Math Societies

Perfect for educational institutions running math clubs and competitions

Competition Organizers

Ideal for hosting timed math competitions and challenges

Educators

Great for teachers who want to engage students with interactive content

Student Groups

Suitable for student-run organizations promoting mathematical learning

Getting Started

Ready to dive in? Check out our quickstart guide to get your platform up and running in minutes:

Quickstart Guide

Get from clone to running application in under 5 minutes
Or explore the detailed installation instructions for production deployment:

Installation Guide

Comprehensive setup guide for development and production environments

Open Source

The Maths Society Platform is open source and available under the MIT license. Contributions are welcome!
Originally developed for Upton Court Grammar School’s Maths Society, this platform is now available for any educational institution to use and customize.

Build docs developers (and LLMs) love