Music App
Aplicação web gratuita de streaming de músicas
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/