Jam Roulette
Jam Roulette is a Rails (+ React, Typescript) application for layered jamming and collaboration.
Contributing
We very much welcome PRs! Please fork this repo and see the project's Trello board for open cards to take on. If available, cards labeled "good first issue" would be a good place to start. Alternatively, take a look at the Bugs project section on Github.
When you're done with working, please run bundle exec rake
against the codebase. If everything passes, you can move on to opening the PR.
Development
Docker
Building and initializing the containers
This is required if you've never built jamroulette via Docker before. This may also work to reset things in case Docker gets into a funky state.
- Run
script/setup-docker.sh
(this could take up to ~10 minutes to finish the first time)
Starting up the web server (in Docker)
- Run
script/start-docker-server.sh
- Point your browser to http://localhost:3000/
Running the web server locally
Ensure dependencies are installed locally:
- Run
bundle install
To run the rails server on your local machine (to make things like using byebug easier), follow these steps:
- Run
script/start-local-server.sh
- Point your browser to http://localhost:3000/
Running the test suite
To just run the test suite, docker-compose run web rake
Logging in
db/seeds.rb
will create two users. You can Sign In with user bob@example.com
, password password
.
Deployment
Staging
The Heroku pipeline is currently configured to automatically deploy when changes are pushed to master. If you would like to deploy from the Heroku CLI, follow the instructions below.
This section requires that you:
- Have the Heroku CLI installed.
- Have your CLI connected to your Heroku account.
- Have access to Jam Roulettes's Heroku environment.
To add a remote for staging:
- Run
heroku git:remote -a jamroulette-staging
- Rename the remote with
git remote rename heroku staging
To deploy the master branch run git push staging master
To deploy from a branch besides master git push staging delayed-job:master -f