Aplicação web no formato SPA, feita com React alimentada com a API do TMDB (The Movie Data Base). A aplicação possui recomendações de filmes/séries e uma busca por algum item específico.
Antes de executar este projeto, verifique se você atende aos seguintes requisitos:
- Node.js (versão 18.16.0 ou superior)
- Visual Studio Code (ou qualquer outro editor de sua preferência) Certifique-se de ter o Node.js instalado em seu sistema e definido no PATH. Você pode verificar se o Node.js está instalado digitando o seguinte comando no terminal:
node --version
Além disso, é recomendado utilizar o Visual Studio Code como editor de código, mas você pode optar por qualquer outro editor de sua preferência.
Siga as etapas abaixo para configurar e executar o projeto:
- Adicione sua chave no TMDB em src/services/api.js.
- No prompt, navegue até a pasta raiz do projeto. 3.Instale as dependências necessárias executando o comando:
yarn install
ou
npm install
- Rode o projeto utilizando o comando:
yarn start
ou
npm start
Certifique-se de substituir sua-chave pelo valor correto da sua chave no arquivo src/services/api.js
.
- Icone da aplicação retirado do site Flaticon: Cinema icons created by Freepik - Flaticon
- Fundos SVG retirados do site HeroPatterns: Hero Patterns
A idéia veio do projeto AluraFlix, o último challenge do Projeto Oracle ONE da formação front-end. A base era um site com links fixos de vídeos do YouTube baseados em algum tema. Resolvi adaptar e fazer um site com informações de filmes e séries, alimentado por uma API.
-
- Na página inicial, há um carrossel com os filmes mais buscados e com as melhores notas, e também existe uma página dedicada a dois carrosséis, de novidades e futuros lançamentos.
- Feito com
react-alice-carousel
. - O carrossel com os filmes mais buscados está disponível apenas para computador, devido as limitações de tamanho da tela. Mas página a dedicada a dois carrosséis, de novidades e futuros lançamentos permanece para a versão mobile.
- Feito com
- O carrossel gira automaticamente a cada 2 segundos, ele para de girar colocando o cursor em cima do carrossel, permitindo arrastar ou clicar nos botões para navegar entre os itens.
- Ao clicar no pôster, uma janela flutuante é exibida com mais informações.
- Para fechar a janela flutuante, basta clicar no botão fechar, pressionar a tecla ESC ou clicar fora da janela.
- Cada item trás o tipo de mídia (filme ou série), poster, título, nota e data de lançamento.
- A nota possui um css que varia de acordo com a nota, sendo preenchido com um radial grandient e varias especificações via JS para refletir melhor a nota visualmente.
- Na página inicial, há um carrossel com os filmes mais buscados e com as melhores notas, e também existe uma página dedicada a dois carrosséis, de novidades e futuros lançamentos.
-
- É possível pesquisar por um item específico (filme ou série) com 3 campos: uma palavra chave que faz parte do nome do item (obrigatório), ano de lançamento (opcional - não é o ano mínimo, mas o ano exato do lançamento), nota mínima (opcional).
- Ele retorna um carrossel semelhante ao carrossel de recomendações, a única diferença é que ele não gira automaticamente para o usuário poder analisar melhor os resultados, a navegação é feita arrastando ou clicando nos botões para navegar entre os itens.
-
- A janela flutuante trás informações como: nome da mídia, tipo de mídia, gênero da mídia, ano de lançamento, sinopse (se disponível), trailers (se disponível), provedores para assistir (se disponível) - ex: amazon, netflix, etc.
- Janela flutuante feita com
react-modal-dialog
e devido as restrições dos frames com link por variáveis, player de vídeo feito comreact-player
. - Para fechar a janela flutuante, basta clicar no botão fechar, pressionar a tecla ESC ou clicar fora da janela.
- Os provedores para assistir estão separados por streaming, aluguel e compra. Eles também estão filtrados para mostrarem somente opções que tenham conteúdo dublado ou legendado em pt-BR.
- Janela flutuante feita com
- A janela flutuante trás informações como: nome da mídia, tipo de mídia, gênero da mídia, ano de lançamento, sinopse (se disponível), trailers (se disponível), provedores para assistir (se disponível) - ex: amazon, netflix, etc.
-
- Botão de switch de temas, que altera a imagem de background, a cor do background, a cor das sombras, a cor das fontes, a cor das bordas, etc.
- Feito com ThemeProvider do
styled-components
. - Utilizado um hook personalizado para switch dos temas e outros componentes que precisam de controles true/false.
- Feito com ThemeProvider do
- Botão de switch de temas, que altera a imagem de background, a cor do background, a cor das sombras, a cor das fontes, a cor das bordas, etc.
-
- Todos os itens foram trabalhados de forma responsiva, se adaptando a desktops e dispositivos móveis.
- Dentro do GlobalStyles, foram configuradas duas classes globais
apenas-desktop
eapenas-mobile
, ao colocar essa classe em um item ele irá ser um item que renderiza somente em um determinado tipo de resolução.
- Dentro do GlobalStyles, foram configuradas duas classes globais
- Todos os itens foram trabalhados de forma responsiva, se adaptando a desktops e dispositivos móveis.
Olá! Sou Letícia Palaro, uma mulher entusiasmada e determinada, formada em Análise e Desenvolvimento de Sistemas e atualmente cursando uma pós-graduação em Gestão de Projetos.
Desde a minha infância, fui cativada pela tecnologia. Tudo começou com o incrível universo dos jogos, onde embarquei em emocionantes aventuras com o meu querido Nintendo64. À medida que o tempo passava, acompanhei a evolução tecnológica, migrando para os jogos de computador e experimentando novas possibilidades.
Sou movida pela paixão de aprender constantemente, e essa mentalidade me impulsiona a me concentrar ao máximo nas minhas atividades.
Com determinação e entusiasmo, estou pronta para enfrentar os desafios futuros e contribuir para um mundo impulsionado pela tecnologia.