Music quiz application with Spotify integration built with Phoenix Framework.
sh <(curl -L https://nixos.org/nix/install)
mkdir -p ~/.config/nix
printf "experimental-features = nix-command flakes\n" >> ~/.config/nix/nix.conf
For automatic environment activation when entering the project directory:
# Install direnv
nix profile add nixpkgs#direnv
# Install nix-direnv
nix profile add nixpkgs#nix-direnv
# Configure nix-direnv hook
mkdir -p ~/.config/direnv
echo 'source $HOME/.nix-profile/share/nix-direnv/direnvrc' >> ~/.config/direnv/direnvrc
# Add direnv hook to shell (bash, for other shells see https://direnv.net/docs/hook.html)
echo 'eval "$(direnv hook bash)"' >> ~/.bashrc
With direnv (automatic):
cd songy/
direnv allow
# Environment automatically activated
mix setup
mix phx.server
Without direnv (manual):
cd songy/
nix develop
mix setup
mix phx.server
Now you can visit localhost:4000 from your browser.
By default, the app uses iTunes (no configuration needed) - its rate limits are sufficient for development.
For production or enhanced features, configure one of these providers:
Create a new app
Add http://localhost:4000/auth/spotify/callback to redirect URIs
Set environment variables:
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_SECRET_KEY=your_client_secret
Requires Apple Music API developer token:
APPLE_MUSIC_ACCESS_TOKEN=your_access_token
This project is dual-licensed:
The commercial license allows you to:
For details on the commercial license, please contact me.