The one-stop shop for all official osu! tournament correspondence and information!
- Node v18+
- MongoDB
- Cloudflare R2 Object Storage bucket for storing uploaded files (optional)
- yarn
- an osu! API v2 client
- Clone the repository
- Set up a MongoDB database
- Set up a Cloudflare R2 bucket (optional)
- Run
yarn
- Set up
config.json
fromconfig.example.json
with the following fields:connection
: MongoDB connection stringsession
: session string, can be anythingbaseUrl
: base URL of the websiteautomation
: boolean for whether to run automation jobs or notosuApp
: credentials for the osu! API v2 clientosuBot
: credentials for the osu! bot API clientdiscord
: Discord webhook setupr2
: the Cloudflare R2 bucket's credentials (optional)
- Set up
checklist.json
fromchecklist.example.json
- Run
yarn dev
, the project will be served inhttp://localhost:8088
- If you need automation jobs to run when the project starts, use
yarn dev-automation
instead
This is purely for self-documentation purposes.
--skip-deploy
: Skip the deployment of the project to production--skip-client-refresh
: Skip the client refresh notification
This project has a few public API endpoints, feel free to use them within reasonable limits.
GET
/api/tournaments
— queries the tournament listingGET
/api/tournaments/:id
— gets a specific tournament via its IDGET
/api/votes
— queries the public votes listingGET
/api/votes/:id
— gets a specific public vote via its IDGET
/api/tickets
— queries the tickets listingGET
/api/tickets/:id
— gets a specific ticket via its ID
Again, please use these with moderation. If you need other API functionalities (i.e. more routes, websockets, etc.), contact me and we'll figure something out.