robiningelbrecht / wca-rest-api
dev-master
2024-09-23 14:11 UTC
Requires
- php: ^8.2
- ext-intl: *
- ext-json: *
- ausi/slug-generator: ^1.1
- doctrine/dbal: ^3.6
- doctrine/orm: ^2.12
- lcobucci/clock: ^2.2
- league/flysystem: ^3.15
- php-di/php-di: ^7.0
- php-di/slim-bridge: ^3.3
- ramsey/uuid: ^4.7
- slim/psr7: ^1.6
- slim/slim: ^4.11
- symfony/cache: ^6.1
- symfony/console: ^6.1
- symfony/finder: ^6.1
- symfony/process: ^6.3
- thecodingmachine/safe: ^2.2
- twig/twig: ^3.4
- vlucas/phpdotenv: ^5.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.16
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.1
- robiningelbrecht/phpunit-pretty-print: ^1.2.0
- spatie/phpunit-snapshot-assertions: ^5.0
This package is auto-updated.
Last update: 2024-09-23 14:16:48 UTC
README
欢迎使用非官方的 世界魔方协会 (WCA) 公共API文档!在这里,您可以找到所有需要将此API无缝集成到您项目中的信息。访问比赛数据、结果、选手档案、排名等。
注意:此API通过GitHub上的静态JSON文件提供,这意味着端点的结构有限制。这样做的原因是
- 数据变化不大,最多一天一次
- 基于静态文件的API(或应该是)非常快
- 我不想支付任何托管费用,因为它可能会变得非常昂贵
API每天更新一次,因此排名和结果不是实时的。
此信息基于世界魔方协会拥有的和维护的比赛结果,截至2024年9月23日发布在https://www.worldcubeassociation.org/export/results。
我绝不是官方WCA软件团队的一部分或与其有联系。
入门
完整的文档和规范可在https://wca-rest-api.robiningelbrecht.be/找到
反馈
对于任何功能请求、帮助帖子或错误报告,请在问题队列中创建一个新问题。我将很乐意帮助您。
实体关系
为了让您了解实体之间的关系以及如何查询API,我创建了以下架构
本地开发
如果您想帮助开发此项目或想在本地运行它,请运行以下命令
# Clone repo > git clone git@github.com:robiningelbrecht/wca-rest-api.git # Setup .env file > cp .env.dist .env # Build docker containers > docker-compose up -d --build # Install dependencies > docker-compose run --rm php-cli composer install # Build all the static API files. > docker-compose run --rm php-cli bin/build-new-api.sh "continent,country,event,competition,championship,person,rank,result,version"
这应该会产生以下CLI输出
Downloading WCA export...
Unzipping WCA export...
Archive: wca-export/export.zip
inflating: wca-export/metadata.json
inflating: wca-export/README.md
inflating: wca-export/WCA_export.sql
Importing WCA export to database...
Building API...
- Building continent API...
100% [============================] 2/2 [< 1 sec]
- Building country API...
100% [============================] 2/2 [< 1 sec]
- Building event API...
100% [============================] 2/2 [< 1 sec]
- Building competition API...
100% [============================] 12487/12487 [1 min]
- Building championship API...
100% [============================] 582/582 [7 secs]
- Building person API...
100% [============================] 199304/199304 [51 mins]
- Building rank API...
100% [============================] 43/43 [24 mins]
- Building result API...
100% [============================] 10028/10028 [5 secs]
- Updating API version...
Total execution time: 77 min
测试套件
完成本地设置后,您可以运行测试套件
> docker-compose run --rm php-cli vendor/bin/phpunit