Giter VIP home page Giter VIP logo

react-app-musicas's Introduction

Boas-vindas ao repositório do projeto React-App-Musicas !

Para o funcionamento do projeto instale essas dependencias


nvm install 16
nvm use 16
npm install

👨‍💻 O que foi desenvolvido


Neste projeto foi criado o App de Musicas, uma aplicação capaz de reproduzir músicas das mais variadas bandas e artistas, capaz de criar uma lista de músicas favoritas e editar o perfil da pessoa usuária logada. Essa aplicação é capaz de:

  • Fazer login;
  • Pesquisar por uma banda ou artista;
  • Listar os álbuns disponíveis dessa banda ou artista;
  • Visualizar as músicas de um álbum selecionado;
  • Reproduzir uma prévia das músicas deste álbum;
  • Favoritar e desfavoritar músicas;
  • Ver a lista de músicas favoritas;
  • Ver o perfil da pessoa logada;
  • Editar o perfil da pessoa logada;

📃 Habilidades


Neste projeto, verificamos capacidade de:

  • Fazer requisições e consumir dados vindos de uma API;

  • Utilizar os ciclos de vida de um componente React;

  • Utilizar a função setState de forma a garantir que um determinado código só é executado após o estado ser atualizado

  • Utilizar o componente BrowserRouter corretamente;

  • Criar rotas, mapeando o caminho da URL com o componente correspondente, via Route;

  • Utilizar o Switch do React Router

  • Criar links de navegação na aplicação com o componente Link;

Observações técnicas

Os arquivos favoriteSongsAPI.js, searchAlbumsAPI.js, userAPI.js e musicsAPI.js. Esses arquivos serão responsáveis por lidar com as requisições simuladas que serão usadas durante o desenvolvimento. Entenda mais sobre eles abaixo:

userAPI.js

O arquivo userAPI.js será utilizado para manipular as informações da pessoa logada, dentro dele estarão as funções para recuperar e atualizar as informações da pessoa usuária, além de criar um novo perfil. Todas essas funções simulam o funcionamento de uma API.

  • Para recuperar as informações da pessoa usuária, utilize a função getUser. Ela retornará um objeto com as informações da pessoa logada caso exista. Atenção: caso não encontre nenhuma informação da pessoa usuária, a API retornará um objeto vazio.

  • Para criar um novo perfil, utilize a função createUser, ela recebe como parâmetro o objeto que contém as informações da pessoa usuária. Esse objeto deverá conter a seguinte estrutura:

{
  name: '',
  email: '',
  image: '',
  description: '',
}

Para atualizar as informações da pessoa logada, utilize a função updateUser. Assim como a função anterior, ela também recebe um objeto com as informações que serão atualizadas, esse objeto deve conter a mesma estrutura do anterior.

searchAlbumsAPI.js

O arquivo searchAlbumsAPI.js contém uma função que faz uma requisição a uma API e retorna os álbuns de uma banda ou artista. Para essa função funcionar, ela recebe como parâmetro uma string, que deve ser o nome da banda ou artista. O retorno dessa função, quando encontra as informações, é um array com cada álbum dentro de um objeto. Atenção: caso não encontre nenhuma informação da banda ou artista, a API retornará um array vazio.

favoriteSongsAPI.js

O arquivo favoriteSongsAPI.js é responsável por manipular as informações das músicas favoritas. Nele há as funções getFavoriteSongs, addSong e removeSong, que recuperam, adicionam e removem músicas dos favoritos, respectivamente. Assim como nos arquivos anteriores, todas as funções simulam o funcionamento de uma API.

A função getFavoriteSongs retorna um array com as músicas favoritas ou um array vazio, caso não haja nenhuma música.

A função addSong recebe um objeto que representa a música que você quer salvar como favorita e adiciona ao array já existente das músicas que já foram favoritadas.

A função removeSong também recebe um objeto que representa a música que você deseja remover da lista de músicas favoritas.

Atenção: os objetos de música precisam ter a chave trackId para que as músicas sejam adicionadas e removidas corretamente.

musicsAPI.js

O arquivo musicsAPI.js contém a função getMusics que faz uma requisição a uma API e retorna os as músicas de um álbum. Ela recebe como parâmetro uma string, que deve ser o id do álbum. O retorno dessa função, quando encontra as informações, é um array onde o primeiro elemento é um objeto com informações do álbum e o restante dos elementos são as músicas do álbum. Atenção: caso não encontre nenhuma informação, a API retornará um array vazio.

react-app-musicas's People

Contributors

zlenon avatar trybe-tech-ops avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.