Skip to content

Um projeto desenvolvido para apresentar meus hobbies em detalhes, onde serão apresentados em cards.

Notifications You must be signed in to change notification settings

pedro-isidoro/my-hobbies

Repository files navigation

Projeto Detalhando meus Hobbies

Seções

Tecnologias Utilizadas

  • HTML
  • JS

Bibliotecas Utilizadas

  • React
  • Vite
  • Font Awesome
  • Styled Components
  • React Router Dom
  • TMDB - Filmes e Séries

Desafios

  1. Integrar o Styled Components e useContext

  2. Importar images por url comapcta

  3. Sobreposição indevida do Modal sobre livros

Soluções

  1. Criando um arquivo jsx e nele se utilizando do hook createContexte, e passando como objects os themas que o sistema poderá receber.
    E nos arquivos de código restante puxando seus estilos com useContext.

  2. Se utilizando da linha de código colocada no package.json = "vite-jsconfig-paths": "^2.0.1"". E dentro dos códicos se usa o "/path".

  3. Ao pensar que o erro estava na estilização, criei um arquivo novo para isso, porém o erro ainda persistia. Então joguei o Modal para fora do loop Map, que estava chamando um array de informações trazidas de um arquivo JSON, e ao ser clicado o button para o abrir, fazia a chamada de uma função a qual enviava os dados do livro proprietário deste botão e refiz o caminho de estilização. Assim, por fim, resolvi o erro de sobreposição.

Documentação

Minha documentação

Sobre

Para este projeto pensei a princípio em fazer uma landing page, com design feito no Figma, apresentando com react-router-dom, para uma simples apresentação.

Para sua estilização decidi fazer ele todo com styled-components, o qual me deu uma grande dor de cabeça, por ser meu primeiro projeto o usando tanto e tão detalhadamente. Juntamente dele com estudos trazidos do meu curso proficionalizante, DevQuest, usei o useContext para partilhar as configurações padrão de palheta de cor para todo o projeto por meio de props, assim conseguindo desenvolver també um projeto com tema light e dark.

Execução

Para este projeto acabei assistindo alguns vídeos de sliders feitos com vanilla js e curti, implementei no projeto, ajustei para ser como se fosse um baralho de cards apresentando um e o escondendo atrás dos outros após ser selecionado o próximo card.

Nos cards de Filmes, Livros, Música e Cozinha eu inseri um Button, e se ultilizando do react-router-dom, ao ser clicado levará para uma página com mais informações sobre este determinado hobbie

A página sobre os filmes, pensei em usar uma API, escolhi a do TMDB, criei minha conta e listas com meus filmes e séries assistidos e favoritos. Usando-se do Axios e de hook personalizada, fiz a chamada de API, introduzinho nela as informações para puxar as listas com as informações que queria. Para não ficar tão simples, criel um arquivo com a estrutura genérica para um Modal, e se ultilizando das informações vindas da API, apresento elas no Modal

E para a página de séries, a príncipio queria fazer a mesma coisa, porém a API que iria usar (Não vou falar para não levar processo) era realmente muito mal desenvolvida. Então Fiz um arquivo JSON inseria as informações que precisava, coloquei as imagens dos livros no public, e se utilizando do "vite-jsconfig-paths" mostro elas com as informações em um modal também.

Por fim, para o responsivo, se utilizando do Styled-components, usei suas configurações e as coloquei tanto nos próprios arquivos dos components, quanto no global-style, para aqueles mais gerais.

Execução

Para a chamada da API TMDB, após assistir e ler sobre requisições, optei por usar o axios. E criando um arquivo e assim criar um Hook personalizado, passando como parâmetro o método, o ID da lista de filmes e o número da página.

E por fim, dentro do arquivo usando try/catch para tratamento da chamada e por fim retornando os valores desejados de dados, possíveis erros e carregamento dos dados.

Visual do Projeto

Projeto Final

Project Responsive Image

Post do Projeto"

LinkedIn

About

Um projeto desenvolvido para apresentar meus hobbies em detalhes, onde serão apresentados em cards.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published