Catálogo de filmes, utilizando a API The Movie DB .
- Descrição
- Funcionalidades
- Tecnologias utilizadas
- Instruções para rodar o projeto
- Organização e estruturação do projeto
- Desenvolvimento
- Resultado
Este projeto foi desenvolvido com o intuito de praticar Typescript + Reactjs e TailwindCss.
- Estado global: O resultado da API deve ser armazenado em um estado global. (Pode ser utilizado Redux, Context, Vuex ou tecnologia equivalente do framework utilizado)
- Limitar requisições: Limitar cada requisição da página em 20 resultados para não sobrecarregar a API.
- Botão Mais Detalhes: botão Mais Detalhes para abrir uma página com as informações do filme.
- Buscador: Configurar o buscador para poder filtrar por nome do filme.
- Layout responsivo
Git
React
Node v6.0.0^
- Clone o repositório com o comando git clone:
git clone ------
- Entre no diretório que acabou de ser criado:
cd my-app
- Para o projeto funcionar na sua máquina, será necessário instalar suas dependências, para isso, utilize o comando npm install:
npm install
- Pronto, agora o projeto está pronto para ser rodado localmente, utilizando o comando npm run dev:
npm run dev
O projeto está organizado e estruturado da seguinte forma:
├── README.md
├── index.html
├── src
| ├── components
| | ├── helpers
| | | ├── Head.tsx
| | | ├── Loading.tsx
| | ├── Button.tsx
| | ├── CardMovie.tsx
| | ├── Container.tsx
| | ├── Footer.tsx
| | ├── Header.tsx
| | ├── MovieInfo.tsx
| | ├── Title.tsx
| ├── contexts
| | ├── MovieContext.tsx
| ├── Hooks
| | ├── useMovie.ts
| ├── interfaces
| | ├── MoviesProps.ts
| ├── pages
| | ├── Home.tsx
| | ├── Movie.tsx
| | ├── Search.tsx
| ├── public
| | ├── favicon.svg
| ├── utils
| | ├── api.ts
| | ├── formatCurrency.ts
| | ├── formatHours.ts
| | ├── index.ts
| ├── App.tsx
| ├── index.tsx
Para realizar o fetch no banco de dados da API, foi utilizado o client HTTP Axios.
Para realizar a estilização, foi utilizado o framework Tailwindcss.
Os ícones utilizados foram os da biblioteca Phosphor Icons
Flaviane Brum |