Skip to content

robsonpessoa/virtualstore

Repository files navigation

REST API para uma loja virtual criada com Spring Boot e PostgreSQL.

Para configuração do banco de dados, execute o script schema.db no seu console do psql. Ele deverá criar um banco de dados chamado vstore_db. Seu se dá a partir doz usuárioz vstore_adm (para configuração) e vstore_usr (utilizado pela API). Suas senhas são seus próprios nomes de usuários.

A versão do PostgreSQL utilizada neste projeto foi a 9.6.5.


A API consiste em chamadas HTTP padrão (GET, POST, PUT, DELETE), seguindo as especificações de sistemas REST. Sua comunicação é feita através de objetos JSON e possui as seguintes chamadas:

-- Relacionadas ao Usuário --

  • /users - método POST cria um novo usuário. retorna o Status 201 (Created) e a uri do novo usuário criado no header da resposta.
  • /users - método GET lista todos os usuários do sistema. retorna um JSON Array.
  • /users/{id} - método GET retorna o usuário com o id em questão. retorna um JSON Object.
  • /users/{id} - método PUT atualiza o usuário com o id em questão. retorna o Status 200 (OK), confirmando a operação.
  • /users/{id} - método DELETE remove o usuário com o id em questão. retorna o Status 204 (No Content), confirmando a operação.
  • /users/{id}/cards - método POST cria um novo cartão de crédito para o usuário com o id especificado. retorna o Status 201 (Created) e a uri do novo cartão criado no header da resposta.
  • /users/{id}/cards - método GET lista todos os cartões cadastrados do usuário com o id especificado. retorna um JSON Array.
  • /users/{id}/cards/{cardId} - método GET retorna os dados do cartão com id especificado do usuário com o id em questão. retorna um JSON Object.
  • /users/{id}/cards/{cardId} - método DELETE remove o cartão com o id especificado do usuário com o id em questão. retorna o Status 204 (No Content), confirmando a operação.
  • /users/{id}/chart/products/ - método GET lista todos os produtos do sistema. retorna um JSON Object.
  • /users/{id}/chart/products/{productId} - método PUT adiciona o produto com o id especificado do carrinho do usuário. retorna o Status 200 (OK), confirmando a operação.
  • /users/{id}/chart/products/{productId} - método DELETE remove o produto com o id especificado do carrinho do usuário. retorna o Status 204 (No Content), confirmando a operação.
  • /users/{id}/chart/buy - método POST inicia o processo de compra dos produtos inseridos no carrinho do usuário. retorna o Status 201 (Created) e a uri da compra no header da resposta.
  • /users/{id}/purchases - método GET lista todas as compras realizadas pelo usuário. retorna um JSON Array.
  • /users/{id}/{id} - método GET mostra os detalhes de uma compra do usuário. retorna um JSON Object.
  • /users/{id}/{id} - método DELETE cancela/remove uma compra do usuário. retorna o Status 204 (No Content), confirmando a operação.

-- Relacionadas aos Produtos --

  • /products - método POST adiciona um novo produto no sistema. retorna o Status 201 (Created) e a uri do novo produto no header da resposta.
  • /products - método GET lista todos os produtos do sistema. retorna um JSON Array.
  • /products/{id} - método GET retorna os detalhes de um produto no sistema. retorna um JSON Object.
  • /products/{id} - método PUT atualiza os detalhes de um produto no sistema. retorna o Status 200 (OK), confirmando a operação.
  • /products/{id} - método DELETE remove os detalhes de um produto no sistema. retorna o Status 204 (No Content), confirmando a operação.

-- Relacionadas ao armazenamento de arquivos (para imagens a serem inseridas nos produtos) --

  • /media - método POST adiciona um novo arquivo ao sistema. retorna o Status 201 (Created) e a uri do novo produto no header da resposta.
  • /media/{uuid} - método GET retorna o arquivo especificado. retorna um JSON Object.

About

Servidor de uma loja virtual online

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors