arnapou / atcd
Project - ATCD Songs
v1.0
2025-05-14 09:54 UTC
Requires
- php: ~8.4.0
- arnapou/dto: ^4.5
- arnapou/encoder: ^2.3
- arnapou/psr-cache: ^1.1
- arnapou/psr-container: ^1.1
- arnapou/psr-http: ^1.1
- arnapou/psr-log: ^1.1
- arnapou/zip: ^1.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.52
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^2.0
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/php-code-coverage: ^11.0
- phpunit/phpunit: ^11.0
README
Installation
composer create-project arnapou/atcd
packagist 👉️ arnapou/atcd
Project
Live running at 👉️ https://atcd.arnapou.net
ATCD stands for "Audio Trip Choreography Discord".
This repository is not affiliated with ATCD itself: this is a personal project.
Audio Trip is a VR (virtual reality) rhythm game which can help you to do some workout with fun, while "dancing".
Tech notes
- PHP backend, no framework, PSR respectful
- almost no JS, fast, simple, web basics
- Pico CSS fuchsia for the front design
- original
ats
andogg
files are stored intopublic/files
(@seecompose.override.dist.yaml
) - no database: all is indexed automatically into a file cache (only a few hundred of songs)
zip
files are served on-demand as a pure stream, small memory footprint, thanks to arnapou/zip lib
Endpoints
URI | Description | filters * |
---|---|---|
GET / | home | |
GET /songs | song list where you can filter and download songs | ✓ |
GET /songs.json | same as /songs but as JSON | ✓ |
GET /analyze | basic text endpoint which can help fixing ats and ogg files | |
GET /download/{url-safe-base64}.zip | zip stream download of one song | |
GET /download/all.zip | zip stream download of song list | ✓ |
GET /download/playlist.atl | atl (AT playlist) file of song list | ✓ |
filters: these are accepted parameters in the query string.
Screenshot
Home
Song list
Php versions
Date | Ref | 8.4 |
---|---|---|
10/01/2025 | 1.x, main | × |