Go to file
Guido Schweizer 3496d9fa79 deploy prepare 2 2025-06-22 11:45:33 +02:00
.github ini 2025-06-21 08:27:46 +02:00
app recurring loading working now 2025-06-22 11:04:32 +02:00
bin add solid queue 2025-06-22 09:17:18 +02:00
config deploy prepare 2 2025-06-22 11:45:33 +02:00
db add solid queue 2025-06-22 09:17:18 +02:00
lib/tasks ini 2025-06-21 08:27:46 +02:00
log ini 2025-06-21 08:27:46 +02:00
public add solid queue 2025-06-22 09:17:18 +02:00
script ini 2025-06-21 08:27:46 +02:00
storage ini 2025-06-21 08:27:46 +02:00
test add nice statistics 2025-06-21 09:38:22 +02:00
tmp ini 2025-06-21 08:27:46 +02:00
vendor ini 2025-06-21 08:27:46 +02:00
.dockerignore ini 2025-06-21 08:27:46 +02:00
.gitattributes ini 2025-06-21 08:27:46 +02:00
.gitignore ini 2025-06-21 08:27:46 +02:00
.rubocop.yml ini 2025-06-21 08:27:46 +02:00
.ruby-version ini 2025-06-21 08:27:46 +02:00
Gemfile spotify web setup is done 2025-06-22 10:01:32 +02:00
Gemfile.lock spotify web setup is done 2025-06-22 10:01:32 +02:00
Procfile deploy prepare 2 2025-06-22 11:45:33 +02:00
README.md prepare for dokku deploy 2025-06-22 11:06:13 +02:00
Rakefile ini 2025-06-21 08:27:46 +02:00
config.ru ini 2025-06-21 08:27:46 +02:00

README.md

Plays Hub

A Rails application for tracking and visualizing your Spotify listening statistics.

Setup Instructions

1. Prerequisites

  • Ruby (see .ruby-version or Gemfile for version)
  • PostgreSQL
  • Node.js & Yarn (for JS/CSS assets)
  • Redis (if using caching or background jobs)

2. Clone the Repository

git clone <your-repo-url>
cd plays-hub

3. Install Dependencies

bundle install
yarn install --check-files

4. Environment Variables

Create a .env file (or set these in your environment):

Variable Description
SPOTIFY_CLIENT_ID Your Spotify App Client ID
SPOTIFY_CLIENT_SECRET Your Spotify App Client Secret
SPOTIFY_REDIRECT_URI Your app's public base URL (no trailing slash), e.g. https://yourdomain.com
PLAYS_HUB_DATABASE_PASSWORD Password for the main production database
PLAYS_HUB_QUEUE_DATABASE_PASSWORD Password for the Solid Queue DB (production)
RAILS_ENV (optional) Rails environment, e.g. development
PORT (optional) Port to run the Rails server

5. Database Setup

rails db:create db:migrate
rails db:queue_migrate

6. Running the App

rails server

7. Background Jobs

  • This app uses Solid Queue for background jobs.
  • Jobs are scheduled via config/recurring.yml (e.g., to fetch Spotify activities regularly).
  • To run background jobs:
bin/rails solid_queue:start

8. Spotify Integration

  • On first login, users must connect their Spotify account.
  • Make sure your Spotify app's redirect URI matches SPOTIFY_REDIRECT_URI + /spotify_callback.

9. Running Tests

bundle exec rspec

Environment Variables Summary

  • SPOTIFY_CLIENT_ID
  • SPOTIFY_CLIENT_SECRET
  • SPOTIFY_REDIRECT_URI
  • PLAYS_HUB_DATABASE_PASSWORD
  • PLAYS_HUB_QUEUE_DATABASE_PASSWORD

Set these in your .env or via your deployment provider's secrets manager.


Additional Notes

  • See config/recurring.yml for scheduled jobs.
  • See Gemfile for required gems.
  • For any issues, check logs and ensure all ENVs are set correctly.