Projeto Info Filmes

Uma das coisas que aprendi no módulo 3 do curso Jovem Programador Senac foi consumir dados de uma API através de requisições, baseado no que aprendemos, recebemos a missão de desenvolver um site de informações de filmes utilizando dados da API https://www.omdbapi.com/ 

Esta API possui um banco de dados com informações de vários filmes e séries, então tivemos que desenvolver um projeto com os seguintes requisitos:

Como eu desenvolvi meu projeto

Para fazer o Front End utilizei o Bootstrap, aproveitando suas facilidades e a responsividade.

Na página inicial coloquei um carrossel com algumas imagens de capas de filmes.

Ao clicar em “Fazer login” o usuário será redirecionado para a tela de login, onde ele pode se logar, ou se cadastrar caso não tenha cadastro.

Após logado, o usuário tem uma barra de pesquisa onde ele pode digitar um termo, e o sistema vai fazer a consulta na API de filmes e retornar os dados de filmes e séries que correspondem ao termo digitado.

Por exemplo: Ao digitar Star Wars, o sistema retornará uma lista com todos os títulos relacionados a Star Wars.

Exemplo da lista de filmes relacionados a Star Wars

Na lista vai aparecer a capa do título (caso a API retorne a imagem de capa), ou “sem imagem” caso a API não disponha da imagem de capa.

Vai aparecer também o título, o tipo (série, filme, etc, dependendo do que está na API) e o ano.

Além dessas informações, coloquei um botão de mais informações, que ao clicar, o sistema irá buscar na API detalhes sobre o título solicitado.

Coloquei também uma estrela para identificar se o usuário classificou aquele título como um de seus favoritos (apesar de não ser um critério solicitado no desafio do projeto). Se a estrela aparecer amarela é porque esse filme já foi marcado como favorito por esse usuário, se aparecer azul é porque ainda não foi marcado como favorito.

Exemplo da tela de informações para um filme não marcado como favorito
Exemplo da tela de informações para um filme marcado como favorito

Nesta tela de detalhes vão aparecer todas as informações do título que o sistema encontrar na API.

Algumas das informações disponíveis são:

OBS: Todas as informações serão em Inglês, pois é o idioma que a API retorna, dependendo do título podem vir mais, ou menos informações do que as citadas acima, pois o sistema trará todas as informações disponibilizadas pela API.

Se o usuário não tiver favoritado o título ainda, vai aparecer um botão logo abaixo da imagem de capa, permitindo que ele favorite o título, caso o título já esteja favoritado pelo usuário, vai aparecer um botão permitindo desfavoritar o título.

Ao clicar sobre o nome do usuário, vai ter a opção de verificar todos os seus favoritos, ou sair do sistema.

Exemplo da tela de filmes favoritos do usuário

Conclusões finais do projeto

Este projeto serviu para conhecer como funciona o consumo de uma API, e foi muito importante, pois sabemos que na prática isso é muito utilizado.

Foi minha primeira experiência com consumo de API.

Neste projeto utilizei basicamente os seguintes recursos:

OBS: O banco de dados foi utilizado apenas para os recursos necessários do Django e também para o sistema de favoritar os títulos para os usuários, mas as demais informações dos títulos vêm diretamente da API.