Aplicação web React para exploração e descoberta de filmes utilizando a API do TMDb (The Movie Database).
- ✅ Busca inteligente de filmes por título
- ✅ Exploração de filmes por gênero
- ✅ Visualização de detalhes completos dos filmes
- ✅ Interface responsiva e moderna
- ✅ Integração completa com TMDb API
Nota: Este é um projeto de portfólio desenvolvido para demonstrar habilidades em React e consumo de APIs REST.
- React 18.2.0
- React Router DOM 6.16.0
- Styled Components 6.0.8
- React Icons 4.11.0
- TMDb API
- Variáveis de ambiente (.env)
git clone https://github.com/EdsonAkaves/movies-app.git
cd movies-appnpm installCrie um arquivo .env na raiz do projeto:
REACT_APP_API_KEY=sua_chave_tmdb_aqui
REACT_APP_API=https://api.themoviedb.org/3/movie/
REACT_APP_SEARCH=https://api.themoviedb.org/3/search/movie
REACT_APP_IMG=https://image.tmdb.org/t/p/w500/
REACT_APP_GENRE=https://api.themoviedb.org/3/genre/movie/list?
REACT_APP_LIST=https://api.themoviedb.org/3/account/Como obter sua chave da API TMDb:
- Acesse https://www.themoviedb.org/
- Crie uma conta gratuita
- Vá em Configurações > API
- Solicite uma chave de API (gratuita)
- Copie sua API Key e cole no arquivo
.env
Certifique-se de que seu arquivo .gitignore contém:
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# production
/build
# misc
.DS_Store
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
Execute o projeto em modo de desenvolvimento:
npm startA aplicação será aberta automaticamente em http://localhost:3000
npm run buildIsso criará uma versão otimizada do app na pasta build/.
movies-app/
├── public/
│ ├── index.html
│ └── ...
├── src/
│ ├── components/ # Componentes React
│ ├── pages/ # Páginas da aplicação
│ ├── services/ # Serviços de API
│ ├── styles/ # Estilos globais
│ ├── App.js # Componente principal
│ └── index.js # Ponto de entrada
├── .env # Variáveis de ambiente (não versionado)
├── .gitignore
├── package.json
└── README.md
- Pesquisa em tempo real por título
- Resultados paginados
- Tratamento de erros de busca
- Categorias: Ação, Comédia, Drama, Terror, Ficção Científica, e mais
- Filtragem dinâmica de filmes
- Navegação intuitiva entre gêneros
- Poster em alta qualidade
- Sinopse completa
- Avaliação e popularidade
- Data de lançamento
- Gêneros associados
- Nunca commite o arquivo
.envno repositório - Use variáveis de ambiente para a API Key
- Mantenha suas credenciais seguras
- A API Key do TMDb é gratuita mas pessoal
| Comando | Descrição |
|---|---|
npm start |
Inicia o servidor de desenvolvimento |
npm run build |
Cria build de produção |
npm test |
Executa os testes |
npm run eject |
Ejeta as configurações do Create React App |
A aplicação é totalmente responsiva e funciona perfeitamente em:
- 📱 Dispositivos móveis
- 📱 Tablets
- 💻 Desktops
- Implementar loading states mais elaborados
- Adicionar paginação na busca
- Melhorar tratamento de erros de rede
- Sistema de favoritos (localStorage)
- Filtros avançados (ano, avaliação)
- Modo escuro/claro
- Trailers dos filmes
- Sistema de autenticação TMDb
- Lista de favoritos sincronizada
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -m 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido por Edson Alves como projeto de portfólio.
- LinkedIn: Edson Alves
- GitHub: @EdsonAkaves
- Email: edson.akaves@gmail.com
- TMDb pela API gratuita e completa
- React pela biblioteca incrível
- Styled Components pelo CSS-in-JS
Nota: Este é um projeto de estudo e portfólio. Sinta-se livre para usá-lo como referência ou base para seus próprios projetos.
⭐ Se este projeto te ajudou de alguma forma, considere dar uma estrela no repositório!