Liu233w / acm-statistics

An online tool (crawler) to analyze users performance in online judges (coding competition websites). Supported OJ: POJ, HDU, HYSBZ, CodeForces, UVA, ICPC Live Archive, FZU, SPOJ, Timus (URAL), LeetCode_CN, CSU, LibreOJ, 洛谷, 牛客OJ, Lutece (UESTC), AtCoder, AIZU, CodeChef, El Judge, BNUOJ, Codewars, UOJ, NBUT, 51Nod, DMOJ, VJudge
https://ojhunt.com
GNU Affero General Public License v3.0
144 stars 12 forks source link
acm-icpc codechef-api codeforces-api crawler csharp docker javascript nodejs spoj-api vue

This repo contains the source code of OJ Analyzer

简体中文版:README_zh-hans.md

Powered by ZenHub Quality Gate codecov Cypress.io Renovate enabled Mergify Status

All Contributors

Build status

Unit Tests Test E2E

Features

Under development

Directory structure

See the README file in each module for specific documents.

Developing and deploying in docker

Development

Deploy

There are two ways to deploy this project in a server.

One-liner

Execute following code in shell to deploy the project to port 3000.

curl -s https://raw.githubusercontent.com/Liu233w/acm-statistics/master/tools/remote-docker-up.sh | bash

Vjudge crawler is not available in this way.

Config file version

In this way you are able to customise the configuration, enabling all features.

# Create a folder to store config files
mkdir -p ~/www/acm-statistics
cd ~/www/acm-statistics
# Download runner script and add permissions
curl https://raw.githubusercontent.com/Liu233w/acm-statistics/master/tools/remote-docker-up.sh  -o run.sh
chmod +x run.sh
# Run the script once to generate configuration file. It will exit after the line `.env file created, remember to edit it` is shown.
./run.sh
# Edit the config file following the description in it.
vim .env
# Now we can run the project by the script
./run.sh

Then you can use tools such as systemd to run ./run.sh.

./tools/acm-statistics.service is a template config file of systemd.

run.sh checks updates when it is starting. If there are updates to template.env, run.sh will exit and ask you to compare these two files. The script compares the line count of the two files to check update, please make sure they are identical when editing.

Management

License

Contribution

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Adelard Collins🔗
🐛

BackSlashDelta🔗
🐛

Bodhisatan_Yao🔗
🐛

Geekxiong🔗
🤔

Halorv🔗
🤔

Kido Zhang🔗
🚇 🤔

Liu233w🔗
💻 🤔 🚇 ⚠️

Meulsama🔗
🤔

Michael Xiang🔗
🐛

Zhao🔗
🐛

bluebear4🔗
🐛

ct🔗
🐛

flylai🔗
💻 🐛

fzu-h4cky🔗
🐛

wwawwaww🔗
🐛

zby🔗
🤔 🐛

This project follows the all-contributors specification. Contributions of any kind welcome!