arnapou/atcd

Project - ATCD Songs

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Forks: 0

Type:project

v1.0 2025-05-14 09:54 UTC

This package is auto-updated.

Last update: 2025-09-11 19:54:08 UTC


README

pipeline coverage

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 and ogg files are stored into public/files (cf. compose.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

URIDescriptionfilters (*)
GET /home
GET /songssong list where you can filter and download songs
GET /songs.jsonsame as /songs but as JSON
GET /analyzebasic text endpoint which can help fixing ats and ogg files
GET /download/{url-safe-base64}.zipzip stream download of one song
GET /download/all.zipzip stream download of song list
GET /download/playlist.atlatl (AT playlist) file of song list

*() filters**: these are accepted parameters in the query string.

FilterTypeDescriptionExample
qstringQuery on song (artist + title)q=dragons
pstringPlaylist namep=My+Playlist
tstring[]List of Choreo typest[]=Beginner
cstring[]List of Choreographersc[]=OkDiSpLaY
sstring[]List of sceness[]=Anemone
zbooleanWhether to reset the scenes to "Universal"z=0
fstringThe field to sort on, see the enum Sortf=song1
dYYYY-MM-DDRecent song from {date}d=2022-01-01

Screenshot

Home

Song list

Php versions

DateRef8.4
10/01/20251.x, main×