Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ototot/judgegirl-scoreboard
A Fancy Scoreboard for JudgeGirl
https://github.com/ototot/judgegirl-scoreboard
crawler judgegirl judgegirl-scoreboard php scoreboard tocas-ui tocasui vuejs vuejs2
Last synced: about 2 months ago
JSON representation
A Fancy Scoreboard for JudgeGirl
- Host: GitHub
- URL: https://github.com/ototot/judgegirl-scoreboard
- Owner: oToToT
- License: mit
- Created: 2019-09-22T16:45:55.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-20T17:10:03.000Z (5 months ago)
- Last Synced: 2024-11-01T12:42:04.266Z (about 2 months ago)
- Topics: crawler, judgegirl, judgegirl-scoreboard, php, scoreboard, tocas-ui, tocasui, vuejs, vuejs2
- Language: PHP
- Homepage: https://www.csie.ntu.edu.tw/~b08902100/jgsb/
- Size: 126 KB
- Stars: 12
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JudgeGirl Scoreboard #
## Intro ##
A scoreboard for [JudgeGirl](https://judgegirl.csie.org) contest.
It will crawl submissions during the contest with [JudgeGirl API](https://judgegirl.csie.org/api/submission).## Features ##
- Support multiple problems in a single contest
You can view lots of problems in a single contest in a single web page.
- Dynamic scoreboard using [Vue.js](https://vuejs.org)
The score distribution will be displayed dymaically, and so does those statistics.
- Custom sorting in scoreboard
You can sort scoreboard with last submissions, total score, users' id, and so on.
- Fancy UI
We use [Tocas UI](https://github.com/TeaMeow/TocasUI) to displayed our scoreboard, it's a RWD-friendly UI library.
- Customizable display name
You can change the display name (e.g. add users' name after his uid) simply.
- A static statistics page
By setting some config, you could generate some staic statistics page to overview contests.
## Usage ##
First of all, check you have Python with version >= 3 and PHP
Then `git clone https://github.com/oToToT/JudgeGirl-Scoreboard.git`, now those source code will be cloned into `JudgeGirl-Scoreboard`.
Run `pip install -r requirements.txt` to install dependencies for those python scripts.
Edit `URL_BASE` to the url of your website, `TMP_PATH` to the path which could store a temp file, and `JUDGEGIRL_URL` to JudgeGirl's url in `config.example.json` and rename it to `config.json` (notice that a `/` behind any path is important).
To customize display name, you should modify `student_info.example.php` which stores a mapping from uid to what you want to display.
After that, you should rename it to `student_info.php`.
Now, you could enjoy the fancy scoreboard of JudgeGirl.
To modify the statistics page, you should go to `stat/` and add some folder like `2019-overall` with a `config.json` inside it.
Then, run `python libs/gen_stat.py` to generate static html files. (Notice that you can't customize names in statistics page.)
## Special Thanks ##
Thanks [@brianbbsu](https://github.com/brianbbsu) for the `crawler.py`.
Without his first attempt, I won't start this project.
Thanks [@bluemorbo](https://github.com/bluemorbo) for adding some XSS protection.
Also, thanks those who have make suggestion for me.