Skip to content

drigues90/aluraflix-backend

Repository files navigation

Alura Backend Challenge

ObjetivoRegras de NegócioExecutando a AplicaçãoTestando Aplicação

Objetivo

Desenvolver uma API backend do zero, aplicando regras de negócio fornecidas pela alura.

Regras de Negócio

• Implementação da base de dados escolhida, desenvolvimento da API com rotas CRUD para uma entidade e primeiros testes.

• Criação de mais um modelo/entidade, rotas CRUD e relacionais, buscas na base via parâmetros de query, testes de unidade e integração.

• Implementação de mais funcionalidades: paginação, autenticação; deploy da aplicação.

Executando a Aplicação

Pre Requisitos

• ter previamente o docker instalado e ativo em seu sistema operacional.

• ter as portas 8080 (backend) e 5432 (banco de dados) liberadas em seu sistema operacional, caso as portas citadas estajam indisponivel é possivel alterar as portas do projeto dentro do arquivo docker-compose.yml.

Iniciando aplicação

dentro da pasta da aplicação no diretorio raiz executar:
docker-compose up

Testando Aplicação

Rotas disponiveis

/videos

• GET

curl localhost:8080/videos | json_pp
  [
   {
      "descricao" : "o que sao de onde vem e o que comem",
      "id" : 1,
      "titulo" : "Microserviços",
      "url" : "https://www.youtube.com/watch?v=jSnLOoGjQ80"
   },
   {
      "descricao" : "sempre curti",
      "id" : 2,
      "titulo" : "Emuladores",
      "url" : "https://www.youtube.com/watch?v=9qx7qjKhJ1Q"
   },
   {
      "descricao" : "curioso pra assistir",
      "id" : 3,
      "titulo" : "Alura Cases",
      "url" : "https://www.youtube.com/watch?v=Amt8gqUCHB8"
   }
]

• POST

 curl -v -H "Content-Type: application/json" -d '{"titulo":"novo video","descricao":"meu video", "url": "mdjsidjis"}'  http://localhost:8080/videos
* Trying 127.0.0.1:8080...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8080 (#0)
> POST /videos HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.68.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 67
>
* upload completely sent off: 67 out of 67 bytes
* Mark bundle as not supporting multiuse
< HTTP/1.1 201
< Location: http://localhost:8080/videos/5
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
< Date: Sat, 24 Jul 2021 15:36:05 GMT
<
* Connection #0 to host localhost left intact
{"id":5,"titulo":"novo video","descricao":"meu video","url":"mdjsidjis"}

Metodos • PUT • DELETE também estão implementados.