Skip to content

Spotify radio is an audio streaming app where you can add effects in real time.

Notifications You must be signed in to change notification settings

grilario/js-expert-spotify

Repository files navigation

Spotify Radio - Semana JS Expert 6.0

Spotify radio is an audio streaming app where you can add effects in real time.

JS-Expert Project of the Week by the dear @Erick Wendel, with the challenge of implementing unit tests and e2e and achieving 100% coverage.

Preview

Open https://spotify-radio-grilario.herokuapp.com/ and play audio.

Open https://spotify-radio-grilario.herokuapp.com/controller and control the transmission.

Getting Started

Prerequisites

Or

Installation

Step 1: Clone the repo

git clone https://github.com/Grilario/js-expert-spotify.git
cd js-expert-spotify

Step 2: Install NPM packages

 npm ci --silent

Step 3: Run app

npm run start

Open http://localhost:3000 and take a look around.

Or with Docker

Step 1: Clone the repo

git clone https://github.com/Grilario/js-expert-spotify.git
cd js-expert-spotify

Step 2: Run in docker

 npm run start:docker

Open http://localhost:3000 and take a look around.

Guide

Open http://localhost:3000/home and play audio.

Open http://localhost:3000/controller and control the transmission.

Checklist Features

  • Web API:

    • Must achieve 100% code coverage in tests
    • Must have end to end tests validating all API routes
    • Must deliver static files like Node.js Stream
    • Must deliver music files as Node.js Stream
    • Given a disconnected user, should not break API
    • Even if multiple commands are fired at the same time, it should not break the API
    • If an unexpected error occurs, the API should continue working
    • Project needs to run on Linux, Mac and Windows environments
  • Web App:

    • Client:
      • Must play the broadcast
      • Shouldn't pause if any effects are added
    • Controller:
      • Must achieve 100% code coverage in tests
      • Must be able to start or stop a broadcast
      • Must send commands to add audio effects to a stream

Tasks per class

  • Lesson 01: Cover service and route layers with unit tests and achieve 100% code coverage.
  • Lesson 02: Maintain 100% code coverage and implement e2e tests for the entire API.
  • Lesson 03: implement unit tests for the frontend and maintain 100% code coverage.
  • PLUS:
    • provide a new effect
      • add a new button on controller
      • add new effect sound to audios/fx/ folder
      • repost on heroku

Credits to used audios

Streaming

Effects

About

Spotify radio is an audio streaming app where you can add effects in real time.

Topics

Resources

Stars

Watchers

Forks

Contributors