Skip to content

Plataforma para anúncio de trabalhos freelance (Back-End c/ Java 11 e Postgres)

License

Notifications You must be signed in to change notification settings

mrocha98/trampoz-api

Repository files navigation

TrampoZ - API

TrampoZ logo

GitHub language count GitHub top language Repo size License

Run in Insomnia

Índice:

🤔 O que é

TrampoZ é um plataforma ficticia para anúncio de trabalhos freelance.

Neste repositório foi desenvolvida uma API REST com Java vanilla e banco de dados Postgres dockerizado. Confira outros repositórios relacionados:

Diagrama Entidade-Relacionamento

MER image

Diagrama desenolvido com a ferramenta online Pony ORM Editor.

🎯 Objetivos

Crie serviços REST que satisfaçam os seguintes requisitos:

  1. Permita buscar um registro no Banco de Dados (BD) pelo seu ID por meio de método GET. O retorno deve ser no formato JSON;
  2. Permita inserção de registros em um BD por meio de método POST. O novo registro deve ser recebido no corpo da requisição com formato JSON. Se a requisição for processada com sucesso o código de retorno deve ser 201 (CREATED) e a resposta deve conter um cabeçalho (header) chamado "Location" contendo a URL para o serviço criado no item 1 e o ID do registro criado;
  3. Permita alterar o conteúdo de um registro do BD por meio de método PUT ou PATCH. Receba o ID do registro na URL e os dados a alterar como JSON no corpo da requisição;
  4. Permita excluir um registro por meio do método DELETE;
  5. Utilize autenticação básica (envio de usuário e senha em toda requisição) implementada com Filter e proíba a usuário sem autorização do tipo "ADMIN" o acesso aos serviços dos itens 3 e 4. Tanto usuário como suas autorizações devem ser recuperados de um banco de dados.

🔬 Tecnologias utilizadas

  • Java 11
  • Maven
  • Hibernate
  • Jetty Server
  • Postgres 12
  • Docker
  • Docker Compose

🚀 Executando a aplicação

TODO

📝 Licença e créditos

Esse projeto foi desenvolvido sob a licença BSD-3.

Icon made by Freepik from www.flaticon.com