Skip to content

msonnberger/queued

Repository files navigation

Queued

Your interactive playlist
Learn more »

Website · Issues

About the Project

Queued is an interactive playlist, which lets you and your friends decide together on the upcoming song. A host with a Spotify Premium account can create a Queue and invite others to join them. All participants can add song suggestions and vote for each suggestion with upvotes and downvotes. The songs with the highest upvote ratio automatically plays next.

Queued was done as a final year project for the MultiMediaTechnology Bachelor's degree program at Salzburg University of Applied Sciences and is developed by:

Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

Here is what you need to be able to run Queued:

  • Node.js (Version 19 or higher)
  • Postgres Database
  • Spotify OAuth App (setup instructions)
  • Pusher Server
  • pnpm (recommended)

Development

Setup

  1. Clone the repo

    git clone https://github.com/msonnberger/queued.git
  2. Go to the project folder

    cd queued
  3. Install packages with pnpm

    pnpm install
  4. Set up your database

    • Create a Postgres database, either locally or in the cloud
    • Run the migrations inside src/lib/server/db/migrations to set up the schema
  5. Set up your .env file

    • Duplicate .env.example to .env
    • Fill in values for the database connection, Spotify and Pusher API keys
  6. Start dev server

    pnpm dev

Testing

Make sure you set all environment variables mentioned in .env.example

# Unit tests
pnpm test:unit

# E2E tests
pnpm test:browser