This is the scoreboard used for South American ICPC contests.
dockeranddocker compose.
Install docker, and docker compose, clone the repo and bring the services up:
git clone https://github.com/wuerges/maratona-animeitor-rust
cd maratona-animeitor-rust
docker compose up
To see the urls served by Animeitor:
docker compose run printurls
By default these are the URLs to visit:
- Animeitor: http://localhost:8000/?sede=Contest+Exemplo
- Reveleitor: http://localhost:8000/?secret=abc&sede=Contest+Exemplo&contest=
Animeitor can be configured using a few environment variables, than can be set in the .env file:
# Path to the file that contains the secrets used as credentials for the Reveleitor.
# There are many examples in the ./config/ folder
SECRET=./config/basic_secret.toml
# Path to the file that describes the contest locations.
# There are many examples in the ./config/ folder
SEDES=./config/basic.toml
# Boca URL that will be pooled to get the contest state.
# It can be either a file or an URL.
BOCA_URL=./tests/inputs/webcast_jones.zip
# Animeitor API prefix. This is set to `http://animeitor.naquadah.com.br` during the maratona.
# `http://localhost:8000` is fine for local testing:
PREFIX=http://localhost:8000
# This is the public port. This is set to `80` during the SBC Maratona.
# `8000` is fine for local testing:
PUBLIC_PORT=8000There is a special CSS file at client-v2/static/user-styles.css.
This file included in the build and mounted by docker.
It can be edited in real time and overwrites the CSS from animeitor
(Reload the browser with ctrl+shift+R to see the changes once you edit).
/* This file is intended to house user CSS */
/* It will not be included in the minimizer, but it will be used in the app */
/* remove this comment to make the background of animeitor yellowgreen
body {
background-color: yellowgreen;
}
*/Animeitor was made to be customizable using CSS.
The Makefile has an example of how to run animeitor without docker.
make rebuild-client-for-release
make run-standalone
Then check your browser:
- Animeitor: http://localhost:8000/
- Reveleitor: http://localhost:8000?secret=abc
In other terminal, without closing the server above:
make run-debug-client
Then check your browser:
- Animeitor: http://localhost:8080/
- Reveleitor: http://localhost:8080?secret=abc
rust: https://rustup.rs/trunk: To installtrunk, visit the project page: https://trunkrs.dev/
All project dependencies have been updated in september 16, 2025.
The docker image uses the musl cross compiler.
You need to install the musl target to be able to build it.
rustup target add x86_64-unknown-linux-musl
Then you can rebuild the docker image:
rebuild-docker-image
| Key | Name | Function |
|---|---|---|
y |
Open/close team photo | |
m |
Enable/disable autoplay for team song | |
⌫ |
Backspace | Reset revelation |
← |
Arrow left | Step back one submission |
→ |
Arrow right | Step forward one submission |
↑ |
Arrow up | Step up one team |
↓ |
Arrow down | Step down one team |