Semana Javascript Expert 6 - Spotify Radio

Overview

Spotify Radio - Semana JS Expert 6.0

Projeto desenvolvido na Semana Javascript Expert ministrada pelo mestre Erick Wendel.

O Projeto

O projeto é um Stream Deck que permite inserir efeitos sonoros em um streaming de áudio.

É composto basicamente de um player de áudio e o controlador, ou o stream deck, propriamente dito.

Preview

Checklist Features

  • Web API

    • Deve atingir 100% de cobertura de código em testes
    • Deve ter testes de integração validando todas as rotas da API
    • Deve entregar arquivos estáticos como Node.js Stream
    • Deve entregar arquivos de música como Node.js Stream
    • Dado um usuário desconectado, não deve quebrar a API
    • Mesmo que vários comandos sejam desparados ao mesmo tempo, não deve quebrar a API
    • Caso aconteça um erro inesperado, a API deve continuar funcionando
    • O projeto precisa ser executado em ambientes Linux, Mac e Windows
  • Web App

    • Client
      • Deve reproduzir a transmissão
      • Não deve pausar se algum efeito for adicionado
    • Controller
      • Deve atingir 100% de cobertura de código em testes
      • Deve poder iniciar ou parar uma transmissão
      • Deve enviar comandos para adicionar audio efeitos à uma transmissão

Tarefas a fazer

  • implementar testes unitários para o frontend e manter 100% de code coverage
  • PLUS:
    • disponibilizar um novo efeito
      • adicionar um botão novo no controlador
      • adicionar um som de efeito novo para a pasta audios/fx/
      • republicar no heroku

Mas, e aí, como testar o projeto?

Para testar o projeto é necessário você instalar o docker compose na sua máquina.

A instalação é necessária porque o ambiente do projeto usa o SoX, que precisa ser instalado na máquina para permitir a manipulação do áudio pelo controlador.

Para que não seja necessária a instalação na máquina, que acaba ficando dependende do Sistema Operacional usado, e pode gerar diferenças no comportamento, é preferível rodar o projeto em um container.

Para rodar o projeto siga os seguintes passos:

git clone https://github.com/rafaelreisramos/semana-javascript-expert-06

  • Instale as dependências com o npm

npm i --silent

  • Como o docker compose já instalado, execute

npm run live-reload:docker

Verifique se no console aparece o log do servidor rodando. Em caso positivo acesse os endereços localhost:3000/home e em uma outra aba do navegador localhost:3000/controller.

Importante: Na página home de um play para iniciar o streaming de áudio. Este passo é necessário porque o Chrome e/ou Firefox não vem mais com o autoplay habilitado por padrão.

Agora acione os efeitos no stream deck na página controller e ouça o resultado.

Como dito pelo mestre, o resultado não é prefeito e pode ser melhorado mas já nos mostra o poder da manipulação dos streamings em tempo real.

Se você quiser fazer deploy no Heroku siga as instruções do arquivo heroku-commands.md, substituindo o meu nome nos comandos de criação do pelo seu ;-).

Créditos aos áudios usados

Transmissão

Efeitos

You might also like...

Uma aplicação pomodoro conectada com a API do Spotify, para tornar o seu estudo mais dinâmico. Topics Stars

Uma aplicação pomodoro conectada com a API do Spotify, para tornar o seu estudo mais dinâmico.  Topics Stars

Demo | Tecnologias | Iniciando | Projeto | Layout | Demo 🧪 Tecnologias Esse projeto foi feito com as seguintes tecnologias. NextJS Next Auth TypeScri

Aug 9, 2022

My personal profile with dynamic github statistics, coding infos, music status with the spotify API.

Oh, Hello there 👋 My name's Mouhcine, A recent bachelor Graduate Security Researcher/Student from 🇲🇦 . Currently Working on other projects. 📬 Soci

Oct 29, 2022

A REST API which provides you the information of any discord account including their Spotify & VS-Code activity!

Friday A REST API which provides you the information of any discord account including their Spotify & VS-Code activity! This is an open sourced reposi

Jan 4, 2023

Dweon, a community platform for gamers. This is front-end only. Inspired by Discord, Spotify, Twitch. (Not finished yet)

Dweon, a community platform for gamers. This is front-end only. Inspired by Discord, Spotify, Twitch. (Not finished yet)

What's Dweon? Dweon is a community platform that has Music+, Stream+, Chat+ for gamers. Dweon is not a real project. It has nothing but user interface

Sep 4, 2022

Dynamic island style widget for displaying what you're recently played on Spotify.

Spotify Island Dynamic island style widget for displaying what you're recently played on Spotify. 🚀 Check the demo spotify-island.mov 1. Get Spotify

Nov 24, 2022

A clone of spotify🎶

A clone of spotify🎶

Contribution Guidelines 🏗 1. Make sure to make UI consistency while adding new features to musicify 2. Use the packages which are compatible with our

Nov 2, 2022

This is my to-do list website built with html, css and JavaScript. In this project I used Webpack to bundle JavaScript and ES6 modules to write modular JavaScript.

This is my to-do list website built with html, css and JavaScript. In this project I used Webpack to bundle JavaScript and ES6 modules to write modular JavaScript.

To-Do-List App This is my to-do list website built with html, css and JavaScript. In this project I used Webpack to bundle JavaScript and ES6 modules

Sep 20, 2022

Reference for How to Write an Open Source JavaScript Library - https://egghead.io/series/how-to-write-an-open-source-javascript-library

Reference for How to Write an Open Source JavaScript Library The purpose of this document is to serve as a reference for: How to Write an Open Source

Dec 24, 2022

Open Source projects are a project to improve your JavaScript knowledge with JavaScript documentation, design patterns, books, playlists.

Open Source projects are a project to improve your JavaScript knowledge with JavaScript documentation, design patterns, books, playlists.

It is a project I am trying to list the repos that have received thousands of stars on Github and deemed useful by the JavaScript community. It's a gi

Aug 14, 2022
Owner
null
example app that creates a new player in Spotify Connect to play music from in the browse using Spotify Web Playback SDK.

Spotify Web Playback SDK Demo Requirements User must have Spotify Premium, DRM & EME supported and JavaScript enabled Web Browser. License Copyright 2

Sijey 8 Jul 20, 2022
Projeto Clocker, para agendamento de horários, desenvolvido durante a Semana Full Stack cem custo!

Bem vindo à Semana Full Stack Sem Custo, da Codar.me! Entre os dias 5 e 9 de abril, vamos desenvolver uma aplicação completa: front, back e banco de d

Codar.me 30 Dec 11, 2022
Desafio Gerador de senhas com Emojis - Tech da Semana 😁 🤩

Desafio Gerador de senhas com Emojis - Tech da Semana ?? ?? ?? Informações sobre o projeto O projeto foi desenvolvido com base no desafio do Discord d

Gabriel Borges 3 Nov 21, 2022
Este repositorio é para o primeiro projeto da quarta semana do WCC

Primeiro_projeto_node Instruções para a criação e execução: Crie uma pasta para armazenar os arquivos do projeto Abra a pasta criada no VSCode Após ab

null 3 Sep 8, 2022
O NLW Esports foi desenvolvido durante a semana da NLW feita pela Rocketseat 🚀

Plataforma para encontrar e conectar jogadores para fazerem aquele duozinho maneiro no seu jogo preferido ✅ Demostração ?? Sobre o projeto O projeto f

Alan Mauro Franco 7 Nov 28, 2022
Highly customizable checkboxes and radio buttons (jQuery & Zepto)

iCheck plugin 1.0.3 Highly customizable checkboxes and radio buttons for jQuery and Zepto. Refer to the iCheck website for examples. Note: iCheck v2.0

Dar Gullin 7.4k Dec 25, 2022
Highly customizable checkboxes and radio buttons (jQuery & Zepto)

iCheck plugin 1.0.3 Highly customizable checkboxes and radio buttons for jQuery and Zepto. Refer to the iCheck website for examples. Note: iCheck v2.0

Dar Gullin 7.5k Aug 24, 2022
An application where a user can search a location by name and specify a genre of music. Based on the parameters entered, a list of radio stations generate based on genre selected in that area.

Signs of the Times Description An application that allows for the user to enter a date and see the horoscope for that day, and famous people born on t

null 3 Nov 3, 2022
A discord bot that generates Discord Nitro, Hulu accounts, Origin, spotify and VPNs!

Discord-Account-Generator-Bot A discord bot that generates Discord Nitro, Hulu accounts, Origin, spotify and VPNs! Tutorial Basically download the fil

#Fluroescent 20 Oct 4, 2022
Fullstack Spotify clone app using NextJS and many other libraries.

Spotify Clone Spotify clone made with NextJS on both the client and server sides. For the database, I utilized Postgresql and Prisma ORM. I used Chakr

Mithat Ercan 6 Dec 7, 2022