[!IMPORTANT] Por se tratar de um serviço de hospedagem gratuito, a API pode enfrentar alguns problemas ocasionais. Se você acessar o link e ele não carregar corretamente, aguarde alguns instantes e tente atualizar a página.
Documentação para projeto do desafio da empresa Verzel.
Ver Documentação Completa
·
Reportar Erro
·
Solicitar Features
Sumário
Este projeto começou a ser desenvolvido no dia 28/08 a partir do recebimento das instruções do desafio da empresa Verzel, com um mapeamento inicial das necessidades do sistema, seguido pela criação do design no Figma e, finalmente, a implementação utilizando Node.js e Next.js. Embora fosse possível desenvolver todo o fullstack em Next.js, optei por usar um backend separado para demonstrar meu conhecimento em diferentes tecnologias.
A Hospedagem do frontend desse projeto está sendo feita via Vercel, está disponível nos domínios
A Hospedagem da API está no Render,
Important
Por se tratar de um serviço de hospedagem gratuito, a API pode enfrentar alguns problemas ocasionais. Se você acessar o link e ele não carregar corretamente, aguarde alguns instantes e tente atualizar a página.
Obrigatórias
- Pesquisa de filmes utilizando a API do The Movie Database (TMDb).
- Exibição de detalhes dos filmes, incluindo a nota (rating).
- Gerenciamento de uma lista de filmes favoritos (adicionar/remover).
- Compartilhamento da lista de favoritos via link.
Adicionadas Extras
- Cadastro de Usuário.
- Criação de Listas.
Esta seção aponta as tecnologias utilizadas no desenvolvimento do sistema.
Frontend: Abra para ler mais sobre o frontend e seu funcionamento
Backend:
Rotas de API: Abra para ler a documentação das rotas da API
Banco de Dados:
O banco de dados utilizado no sistema é o MongoDB
. A integração com o MongoDB é simples: você apenas precisa acessar o Atlas e gerenciar as credenciais para ambientes Node.js e inserir as chaves de segurança no arquivo .env
. O backend cuida automaticamente do restante, criando a coleção de usuários e, posteriormente, as listas associadas a cada usuário.
Exemplo:
mongodb+srv://[usuário]:[senha]@[cluster]/[database]?retryWrites=true&w=majority&appName=[nome_do_cluster]
A utilização do sistema é fácil e intuitiva. Você pode seguir o passo a passo para instalação e configuração local ou, se preferir, acessar o projeto diretamente na Vercel através dos links abaixo:
Para executar os códigos no seu sistema é necessário ter uma versão recente do Node, também é necessário possuir credenciais das APIs (Todas Gratuitas), mas para o projeto eu disponibilizo as chaves para teste.
npm install npm@latest -g
Este repositório possui backend e frontend nele, para testar e instalar basta seguir as instruções a seguir para iniciar ambos.
-
Gere sua chave gratuita do TMBD em TMDB API ou utilize as credenciais testes desse documento.
-
Clone o repositório ou baixe manualmente:
git clone https://github.com/kc1t/desafio-verzel.git
-
Acesse a pasta com os arquivos do frontend:
cd screenli-cli
-
Instale os pacotes NPM:
npm install
-
Coloque as chaves de API dentro do arquivo
.env.local
(Chaves Disponíveis para Teste):NEXT_PUBLIC_API_URL= https://sua-api:5000 NEXT_PUBLIC_TMDB_API= sua-chave-secreta
-
Execute o servidor:
npm run dev
-
Acesse o a pasta com os arquivos do backend:
cd screenli-api
-
Instale os pacotes NPM:
npm install
-
Coloque as chaves de API dentro do arquivo
.env
(Chaves Disponíveis para Teste):MONGO_URI= mongodb+srv://[usuário]:[senha]@[cluster]/[database]?retryWrites=true&w=majority&appName=[nome_do_cluster] JWT_SECRET= sua-chave-secreta TMDB_API= sua-chave-secreta
-
Execute o servidor:
npm run dev
Important
Para conseguir as chaves do projeto, mandar mensagem no privado.
Nesta seção você verá como usar o sistema através de vídeos e screenshots do sistema.
Para ver mais sobre o sistema acesse: Documentação
Vídeo Caso o vídeo não esteja disponível, aperte aqui!
Preview.Screenli.mp4
Link para o Design:
- Requisitos Funcionais
- Requisitos Não Funcionais
- Melhorar Registro e Login no Front com bibliotecas
- Melhorar Autenticação
- Refatorar Backend
- DarkMode/LightMode
Distribuído sob a licença MIT. Consulte LICENSE.txt
para obter mais informações.
Kauã Miguel - Portfólio - (11) 98468-1739
Link do Projeto: https://github.com/Kc1t/desafio-verzel