Skip to content

Collaborative constraint-based radio programming

Notifications You must be signed in to change notification settings

jbearer/jcradio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

################################ # RVM Setup: ################################

Install rvm (www.digitalocean.com/community/tutorials/how-to-use-rvm-to-manage-ruby-installations-and-environments-on-a-vps)

The first time:

rvm install ruby-2.4.9
rvm use ruby-2.4.9
bundle install

Thereafter:

rvm use ruby-2.4.9

You may have to be in a login shell for rvm to work properly:

bash --login
rvm use ruby-2.4.9

################################ # Deployment: ################################

First, make sure your public RSA key is in /home/pi/.ssh/authorized_keys.

Commit and push your changes. Then:

ssh [email protected] -p 10110
cd jcradio
git pull

Simply changing server source code should not require a server restart. If you do need to restart the server:

jcradio-stop
do stuff
jcradio-start

################################

You might also need to install nodejs… (At least Austin on P1G4 Ubuntu 20.04 had to. Otherwise the rake commands failed)

sudo apt install nodejs

################################

Ruby version: 2.4.9 Rails version: 4.2.8

To set up the database, run

rake db:setup
rake db:migrate

To start the server, run

rails server

Note: if you do ‘bundle install`, it may try to update the version of rspotify’s dependency omniauth-oauth2 from 1.3.1 to 1.5.0. This version of omniauth-oauth2 does not currently work with rspotify. You must revert the version of this package back to 1.3.1 in ‘Gemfile.lock`.

TODO

Bugs
    Error if you search empty string
    Sometimes songs fail to be decrypted
    Batch requests so we're not constantly querying db

Features
    xHistory of songs
    xNotify you again if it's almost your turn
    xPlots
    SQL query

    When adding a song, option "Override the first Letter" vs "I know, I don't care"
        Will help with anaylsis, and when Buddy just random shuffles your spotify Library

    Better Queue Search (filte rby first letter earlier)
        ie. Jeb's fix

    Buddy
        different tastes
        Optional variety, if say there are only 5 Z songs

    Shuffle your N recent liked songs
        Dependent: option to "I know, I don't care"

    Re-sync whole database of songs to use standardized first_letter calculation
        eg. "Move Like you want - Live" autopopulates to L

    Skip song ability
        notify all users who skipped the song

    Recommendations
        Encorporate min and max in audio features
        Encorporate genre seeds?
        Add loading icon
        Increment "last" counter
        Properly validate results, instead of having the server throw an error
    Settings
        Number of days warning
        Hide queue option

About

Collaborative constraint-based radio programming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published