Tecnologias | Projeto | Funcionalidades | Requisitos | TMDB | Instalação | Miscelâneas |
Este projeto foi desenvolvido com as seguintes tecnologias:
- HTML5
- CSS3
- JavaScript
- TypeScript
- UnoCSS
- Google Fonts
- Pnpm
- ESLint
- Commitlint
- Lintstage
- Vite
- Vue.js
- Vue Router
- Vue I18n
- VueUse
- Vitest
- Vue Test Utils
- Nock
- Playwright
- Lefthook
- Moment.js
- Notivue
- Git
- GitHub
- GitHub Actions
Este projeto é um site para exibição dos filmes, séries e atores mais populares mundialmente. Desenvolvido como um projeto pessoal, ele visa praticar minhas habilidades em desenvolvimento frontend com Vue.js, incluindo design responsivo e cobertura completa de testes unitários e e2e.
- Tour Interativo: Apresenta as principais funcionalidades do site ao usuário de forma guiada e didática.
- Menu de Filmes: Exibe os 20 filmes mais populares e os 20 filmes em cartaz atualmente, com base nas avaliações do IMDB. Inclui tela de detalhes com trailer, elenco e imagens do filme.
- Menu de Séries: Exibe as 20 séries mais populares e as 20 séries em exibição, com base nas avaliações do IMDB. Inclui tela de detalhes com trailer, elenco e imagens da série.
- Menu de Artistas: Exibe os 20 artistas mais populares, com scroll infinito para carregar mais artistas. Inclui tela de detalhes com informações e créditos dos artistas.
- Troca de Idioma: O site suporta troca de idioma entre português e inglês.
- Troca de Tema: Alterna entre tema claro e escuro.
- Busca Avançada: Permite procurar filmes, séries ou artistas por nome, com sugestões exibidas a partir de 3 caracteres.
- Design Responsivo: Layout 100% responsivo, adaptado para diferentes dispositivos.
- Navegador: Versão mais recente do Chrome, Firefox, Edge, Safari, Opera, ou outro navegador moderno.
- Pnpm: Gerenciador de pacotes Pnpm.
- API Read Access Token: Chave de acesso da API do TMDB.
- Cadastre-se no TMDB.
- Verifique seu e-mail e acesse a página API Settings para obter a chave API Read Access Token.
-
Clone o repositório ou baixe o arquivo ZIP:
git clone https://github.com/randercarlos/movie-app.git
-
Navegue até a pasta do projeto:
cd movie-app
-
Instale as dependências:
pnpm install
-
Configure a chave da API:
- No arquivo
.env
, insira a chaveVITE_TMDB_TOKEN
sem aspas:VITE_TMDB_TOKEN=[sua-api-key-do-TMDB]
- No arquivo
-
Execute o servidor:
pnpm run dev
-
Acesse o site: Abra http://localhost:5173/ no seu navegador.
-
Checa erros de código sem corrigi-lo:
pnpm run lint:check
-
Checa erros de código com correção:
pnpm run lint:fix
-
Checa erros de tipagem do código:
pnpm run type-check
-
Realiza o build do projeto para produção:
pnpm run build
-
Preview do projeto em ambiente de produção no ambiente local:
pnpm run preview
-
Roda o commintlint para fazer commit semântico:
pnpm run commitlint
-
Roda testes unitários e e2e no terminal em modo verboso:
pnpm run test
-
Roda testes unitários e e2e no terminal para CI/CD:
pnpm run test:ci
-
Roda testes unitários terminal em modo verboso:
pnpm run test:unit
-
Roda testes unitários com cobertura de código no browser:
pnpm run test:unit:ui
-
Roda testes unitários no terminal para CI/CD:
pnpm run test:unit:ci
-
Roda testes unitários com cobertura de código no terminal:
pnpm run test:unit:coverage
-
Roda testes e2e no terminal em modo verboso:
pnpm run test:e2e
-
Roda testes e2e no browser:
pnpm run test:e2e:browser
-
Roda testes e2e na interface gráfica do playwright(debug, locator, logs...):
pnpm run test:e2e:ui
-
Roda testes e2e no terminal para CI/CD:
pnpm run test:e2e:ci
-
Roda somente testes e2e que falharam no terminal:
pnpm run test:e2e:failed
-
Roda testes e2e em modo debug:
pnpm run test:e2e:debug
-
Roda o gerador de testes e2e:
pnpm run test:e2e:codegen
-
Mostra o relatório de testes e2e executados:
pnpm run test:e2e:report
Esse projeto tem um arquivo de CHANGELOG.md contendo o histórico de commits com todas as alterações realizadas no projeto.
Esse projeto usa o conventional commits que é uma padronização para os commits com o objetivo de organizar melhor as alterações feitas. Para mais detalhes, consultar o arquivo COMMITS.md
Para saber como contribuir com esse projeto sendo um desenvolvedor, consulte o arquivo CONTRIBUTING.md
Desenvolvido por Rander Carlos 👋 [email protected]