Este projeto foi desenvolvido como um desafio proposto por Josiel, Senior Software Engineer na Syngenta Digital Brasil. Ele conduziu uma trilha de desafios, demonstrando como criar uma API do zero até o deploy.
Neste projeto, tive a oportunidade de aplicar meus conhecimentos e habilidades para desenvolver a aplicação de acordo com os requisitos propostos.
[ ✔️ ] Criação de usuário
[ ✔️ ] Atualização de usuário
[ ✔️ ] Authenticação de usuário
[ ✔️ ] Selecão de usuário por id
[ ✔️ ] Selecão de usuário por email
[ ✔️ ] Criação de um filme
[ ✔️ ] Seleção de todos os filmes
[ ✔️ ] Seleção de um filme com todos os comentários relacionados a ele e a média total de avaliações
[ ✔️ ] Remocão de um filme criado
[ ✔️ ] Criação de comentário para um filme existente
[ ✔️ ] Remoção de um comentário
-
Clone o repositório.
-
Criar um arquivo
.env
com a informacoes seguindo o padrão do.env.example
-
Instale as dependências necessárias usando
npm install
. -
Execute o arquivo da docker usando
docker compose up
.OBS: E necessário ter a docker instalada no computador.
-
Execute as migrates para criar o banco de dados usando
npm run knex -- migrate:latest
. -
Execute a aplicação usando
npm run dev
.
-
Método: POST
rota: /user
{
name: "user",
email: "user@example.com",
password: "userpassord"
}
-
Método: POST
rota: /user/session
{
email: "user@example.com",
password: "userpassord"
}
-
Método: PUT
rota: /user/session
{
name: "username",
image: "userimage.png",
threads_url: "user-threads",
twitter_url: "user-twitter",
tiktok_url: "user-tiktok",
instagram_url: "user-instagram",
}
-
Método: GET
rota: /user
-
Método: POST
rota: /user
{
email: "user@example.com",
}
-
Método: GET
rota: /files/:image_name
-
Método: POST
rota: /movie
{
title: "movie example",
age: "1998",
sinopse: "lorem lorem lorem lorem lorem lorem",
image: "1e1a98285b6125b6a307-linux.jpeg",
}
-
Método: GET
rota: /movie
-
Método: GET
rota: /movie/:filme_id
-
Método: DEL
rota: /movie/:filme_id
-
Método: POST
rota: /comment/:movie_id
{
description: "Ótimo filme! Recomendo a todos!",
rating_movie: "2"
}
-
Método: DEL
rota: /comment/:comment_id
- TypeScript
- NodeJs
- Express
- Knex
- Multer
- Jwt
- Zod
- PostgreSQL
- Docker
Para testar toda aplicacao utilize também o Front-End Movie Star
Nome | Papel |
---|---|
Eduardo N Gomes | Back-End | Front-end |
Gabriel Santos | Front-End | Design |
Biro³ | Design |
Lara Azevedo | Design |