Skip to content

Projeto desenvolvido como parte do desafio para vaga júnior da empresa Verzel, com duração de uma semana. O desafio consistiu em criar uma aplicação para gerenciamento de listas, integrando frontend, backend e banco de dados, utilizando a API TMDB como base.

Notifications You must be signed in to change notification settings

Kc1t/desafio-verzel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Desafio Técnico - Verzel

[!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
  1. Sobre o Projeto
  2. Começando
  3. Tutorial do Sistema
  4. A Fazer
  5. Licença
  6. Contato

Sobre o Projeto

Header

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.

Hospedagem

Readme - Domains

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.

Funcionalidades

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.

Feito com

Esta seção aponta as tecnologias utilizadas no desenvolvimento do sistema.

Frontend: Abra para ler mais sobre o frontend e seu funcionamento

  • Next JS
  • React
  • Figma
  • TailwindCSS
  • TypeScript

Backend:

  • NodeJS
  • TypeScript
  • MongoDB

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]

(Voltar ao Topo)

Começando

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:

Pré-requisitos

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

Instalação

Este repositório possui backend e frontend nele, para testar e instalar basta seguir as instruções a seguir para iniciar ambos.

  1. Gere sua chave gratuita do TMBD em TMDB API ou utilize as credenciais testes desse documento.

  2. Clone o repositório ou baixe manualmente:

    git clone https://github.com/kc1t/desafio-verzel.git

Frontend

  1. Acesse a pasta com os arquivos do frontend:

    cd screenli-cli
  2. Instale os pacotes NPM:

    npm install
  3. 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
  4. Execute o servidor:

    npm run dev

Backend

  1. Acesse o a pasta com os arquivos do backend:

    cd screenli-api
  2. Instale os pacotes NPM:

    npm install
  3. 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
  4. Execute o servidor:

    npm run dev

Important

Para conseguir as chaves do projeto, mandar mensagem no privado.

(Voltar ao Topo)

Tutorial do Sistema

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

Listagem Infos do Filme Listas Lista

Link para o Design:

(Voltar ao Topo)

A Fazer

  • Requisitos Funcionais
  • Requisitos Não Funcionais
  • Melhorar Registro e Login no Front com bibliotecas
  • Melhorar Autenticação
  • Refatorar Backend
  • DarkMode/LightMode

(Voltar ao Topo)

Licença

Distribuído sob a licença MIT. Consulte LICENSE.txt para obter mais informações.

(Voltar ao Topo)

verzel 1      Logo

Contato

Kauã Miguel - Portfólio - (11) 98468-1739

Link do Projeto: https://github.com/Kc1t/desafio-verzel

(Voltar ao Topo)

About

Projeto desenvolvido como parte do desafio para vaga júnior da empresa Verzel, com duração de uma semana. O desafio consistiu em criar uma aplicação para gerenciamento de listas, integrando frontend, backend e banco de dados, utilizando a API TMDB como base.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages