Skip to content

RafaDev95/RD95-Movies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Banner

Tópicos

RD95 Movies

Status:

Badge

Badge

Descrição do Projeto:

Catálogo de filmes onde é possível buscar filmes,animes e afins em outras APIs e salvar no próprio banco de dados.

Funcionalidades:

Front-end(Client):

  • Buscar filmes em outra api e salvar no próprio banco de dados.
  • Caso os filmes ainda não existissem no banco é mostrado um toast informando que foi salvo. E caso os filmes existam é mostrado um toast condizente.
  • Paginação de acordo com o limite de filmes escolhido na hora da busca. Por padrão é 10.
  • Busca por título
  • Uso do getStaticProps do NextJs evitando consultas repetidas e "desnecessárias" no banco de dados.

Back-end(Server):

  • Salvar dados externos no banco de dados(nesse caso, filmes)
  • Busca no banco por filtros (nesse caso, por título)
  • Busca com limite, retornando quantidade de páginas e página atual
  • Middlewares para tratamento de erros. Validações com Joi.

Acesso ao Projeto:

🔗 RD95 Movies

Como executar

  • Clone o projeto: git clone https://github.com/RafaDev95/RD95-Movies.git

  • Antes de tudo é necessário criar uma conta no MongoDB, criar seu cluster e credenciais para fazer a conexão que é atraves de uma URL.

  • Essa url do MongoDB é a variável de ambiente que está no app.ts "MONGODB_URL_CONNECTION"

  • Entre na pasta server e use comando yarn para baixar as dependências necessárias.

  • Repita o processo na pasta client

  • Comando para iniciar tanto client quanto server: yarn dev

Tecnologias utilizadas:

Front-end(client):

Back-end(Server):

Considerações

  • Sempre busco deixar o código mais "claro" possível para evitar comentários. Exceto em alguns casos onde a lógica é meia complexa ou algo do tipo(Fiz isso no middleware de validação com Joi)
  • Quando acessar o projeto pelo link disponibilizado, ao avançar de página para buscar novos filmes está tendo uma certa lentidão. Vi que é devido onde foi hospedado e caso não consiga corrigir essa "lentidão" irei procurar outra hospedagem.
  • Optei por usar Redux Toolki por ficar muito melhor para escalar a aplicação depois.