Music App

1 Julho 2023

Aplicação web gratuita de streaming de músicas

Banner Music App

Este, até o momento, tem sido o projeto pessoal mais desafiador em que já trabalhei. Trata-se de uma plataforma de streaming onde é possível pesquisar e escutar músicas e álbuns gratuitamente.

Pricipais desafios e aprendizado durante o desenvolvimento

Principais desafios

O primeiro grande desafio ao iniciar o projeto se deu pelo fato de não ter encontrado nenhuma API pública, gratuita, que fornecesse todas as informações necessárias para construir o front-end. A solução que adotei para este problema foi montar minha própria API, consumindo dados de diferentes fontes.

Uma vez concluída a API, e tendo em mãos todas as informações necessárias, outro grande desafio foi construir toda a lógica do player de músicas. Lógica esta que inclui:

  • Controlar o estado (pausado/executando), progresso e volume de reprodução a partir do bottom player;
  • Controlar o estado de execução (pausado/executando) a partir dos cards das músicas;
  • Ligar e desligar a repetição de músicas;
  • Reproduzir músicas de uma playlist em sequência;
  • Embaralhar (shuffle) as músicas de uma playlist em execução;
  • Exibir/ocultar as músicas da playlist em execução;
  • Controlar o player utilizando o teclado:
    • Espaço - pausar/reproduzir;
    • M - mutar/desmutar;
    • R - alternar estado de repetição de músicas;
    • S - embaralhar playlist;
    • Shift + N - reproduzir a próxima música;
    • Shift + P - reproduzir a música anterior.

Principal aprendizado

Este projeto me trouxe uma visão mais holística sobre o desenvolvimento de aplicações para web. Tanto na construção do back-end, quanto do front-end. O principal aprendizado que tirei deste projeto, sem levar em conta as questões técnicas, é o de não me prender a soluções "prontas", antes dar espaço à criatividade, sempre ponderando qual a melhor maneira de resolver o(s) eventual(is) problema(s) que surgem durante a construção de um software.

Tecnologias utilizadas

  • React.js;
  • Redux;
  • ContextAPI;
  • Sass;
  • Node.js, com o framework Express.js.

Próximos passos

A aplicação ainda não está finalizada. Destaquei abaixo os pontos já desenvolvidos e os que estou trabalhando:

Funcionalidades já implementadas

  • Pesquisar por músicas e artistas;
  • Reproduzir músicas e álbuns;
  • Favoritar e desfavoritar músicas;
  • Visualizar o histórico de reproduções recentes.

Funcionalidades em desenvolvimento

  • Autenticação de usuário - cadastro e login de pessoas usuárias na plataforma;
  • Playlists públicas e privadas - permitir a criação e compartilhamento de playlists entre pessoas usuárias.

MVP (Minimum Viable Product)

Confira o MVP da aplicação em: https://music-app-fdfgomes.web.app/

Página inicial da aplicação

Home

Página onde os resultados de pesquisa são exibidos

Search results

Modal onde é possível visualizar a playlist em execução

Player

Modal onde é possível visualizar a letra da música em execução

Player lyrics

Página de detalhes de um álbum

Album details

Página com as músicas reproduzidas recentemente pela pessoa usuária

Recently played

Página com as músicas favoritadas pela pessoa usuária

Favorites