Quick Links
Contributing to the Docs
Our documentation is open-source! You can submit corrections or add documentation - but open an issue to discuss larger contributions first.
About
The World Cube Association (“WCA”) governs twisty puzzle (think: Rubik’s Cube) competitions around the world. There are a number of software resources which enable it to do this.
The code for these websites is open-source and any contributors are welcome to submit PR’s. The WCA Software Team (“WST”) is responsible for maintaining and driving development on WCA’s software. See below for a list of software being developed.
Contacting WST
Remember, our repos are open-source - you don’t have to be a member of WST to contribute!
- Open an issue: Create a link in the relevant repo - “WCA Software Resources” below contains links to all repos.
- General enquiry: Submit an email to WST via the WCA’s contact form
- Joining WST: Currently (2023-09-10) WST is not accepting new members. We aim to onboard more volunteers by early 2024.
WCA Software Resources
Websites
WorldCubeAssociation (repo)
- The main website for the WCA - commonly referred to as the “Monolith”.
- Primarily uses Ruby on Rails, transitioning to a React-based frontend.
WCA Live (repo):
- A website for capturing and displaying live results at WCA-sanctioned competitions.
- Primarily uses Elixir and React, transitioning to a Rails-based backend with Elixir only used for serving results data to clients.
WCA Statistics (repo):
- Provides various interesting statistics outside the scope of the main website. Also provides an interface for SQL queries to be made against a “developer export” of the database.
- Python backend, Javascript frontend.
Scrambles matcher (repo)
- Used by delegates to match scrambles to rounds and groups
- Under a feature freeze (will be migrated to an integrated scramble management tool)
- Written in Javascript
Other Software
TNoodle (repo)
- Used by delegates to generate scrambles for competitions
- Under a feature freeze (will be migrated to an integrated scramble management tool)
- Written in Java