Skip to content

Este projeto é uma API para um site de loja de carros seminovos

Notifications You must be signed in to change notification settings

KauaVilasBoas/API-siteDeSeminovos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Site de Seminovos

Olá, seja muito bem vindo ao meu primeiro projeto solo utilizando Spring👋🏼

Este é um projeto de uma APIRest do "NetBank".

🗂️ Sumário

  • Funcionalidades
  • Tecnologias Utilizadas
  • Configurações
  • Como Executar
  • Endpoints
  • Observações
  • Autor
  • Contato
  • 📑Funcionalidades

      C.R.U.D (Create, Read, Update, Delete)

    • Listar todos os veiculos cadastrados
    • Cadastrar um novo veiculo
    • Detalhar veiculo
    • Excluir um veiculo
    • Listar todas as fotos de um veiculo
    • FILTROS

    • Filtrar veiculo por Ano
    • Filtrar veiculo por Km
    • Filtrar veiculo por Cambio

    🖥️Tecnologias Utilizadas

    • Java
    • Spring
    • JPA / Hibernate
    • PostgreSQL
    • JDBC
    • Lombok
    • Spring Validation

    ⚙️Configurações

    Antes de executar o projeto, é necessário realizar as seguintes configurações:

    1. Configurar o banco de dados PostgreSQL e criar o banco de dados "contas".
    2. Modificar as informações de conexão com o banco de dados (URL, usuário e senha) no pacote resources/application.properties

    ❓Como Executar

    1. Clone ou faça o download do projeto para o seu ambiente de desenvolvimento.
    2. Importe o projeto para a sua IDE Java (Eclipse, IntelliJ, etc.).
    3. Realize as configurações necessárias conforme descrito acima.
    4. Start o projeto.
    5. Acesse a aplicação pelo Insomnia, Postman, etc. Utilizando as requisições abaixo.

    🌐Endpoints

    Endpoints Parameters Verb
    /cadastrarVeiculo * POST
    /estoque * GET
    /detalharVeiculo/{id} * GET
    /excluirVeiculo/{id} * DELETE
    /fotos/{id} * GET
    /filtrarPorCambio * GET
    /filtrarPorKm * GET
    /filtrarPorAno * GET
    CADASTRAR NOVO VEICULO - /cadastrarVeiculo

    Descrição

    • Cadastra um novo veiculo instancia-lo no banco de dados.

    Códigos de Resposta

    • 201: CREATED.

    Exemplo de Requisição

    • POST - /cadastrarVeiculo
    • HTTP/1.1
    • Host: localhost:8080
    • Content-Type: application/json
    {
      "marca": "Toyota",
    "modelo": "Corola",
    "anoFabEMod": "2022/2022",
      "versao": "XEI 2.0",
    "cambio": "Automático",
    "qtdePortas": 4,
    "combustivel": "Flex",
    "km": 21200,
     "placa": "PKM-9B26",
     "preco": 120.900,
     "descricao":"There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable..",
         "urlFotos": [
      			 {"url": "https://th.bing.com/th/id/R.03d9e96b44a62713150494967867f57f?rik=7zPJiyQAU1fzFg&pid=ImgRaw&r=0"},
      			 {"url": "https://th.bing.com/th/id/OIP.KqLjGk_VYQob-x0UlsVoFwHaFj?pid=ImgDet&rs=1"}
      		 ]
    }

    Exemplo de Resposta

    • HTTP/1.1 201 CREATED
    • Content-Type: application/json
        {
      "id": 6,
      "marca": "Toyota",
      "modelo": "Corola",
      "anoFabEMod": "2022/2022",
      "versao": "XEI 2.0",
      "cambio": "Automático",
      "qtdePortas": 4,
      "combustivel": "Flex",
      "km": 21200,
      "placa": "PKM-9B26",
      "preco": 120.9,
      "descricao": "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable.."
    }
    LISTAR ESTOQUE - /estoque

    Descrição

    Lista os veiculos contidos no banco de dados.

    Códigos de Resposta

    • 200: OK.

    Exemplo de Requisição

    • GET - /contas/getAll
    • HTTP/1.1
    • Host: localhost:8080

    Exemplo de Resposta

    • HTTP/1.1 200 OK
    • Content-Type: application/json
    {
      "content": [
      	{
      		"marca": "Fiat",
      		"modelo": "Uno",
      		"anoFabEMod": "2015/2015",
      		"versao": "Attractive 1.0",
      		"cambio": "Manual",
      		"km": 92664,
      		"preco": 45.9
      	},
      	{
      		"marca": "Honda",
      		"modelo": "Civic",
      		"anoFabEMod": "2019/2020",
      		"versao": "EXL 2.0",
      		"cambio": "Manual",
      		"km": 25350,
      		"preco": 99.9
      	},
      	{
      		"marca": "Honda",
      		"modelo": "Civic",
      		"anoFabEMod": "2019/2020",
      		"versao": "EXL 2.0",
      		"cambio": "Manual",
      		"km": 25350,
      		"preco": 99.9
      	},
      	{
      		"marca": "Nissan",
      		"modelo": "Kicks",
      		"anoFabEMod": "2022/2022",
      		"versao": "Advance 1.6",
      		"cambio": "Automático",
      		"km": 21200,
      		"preco": 120.9
      	},
      	{
      		"marca": "Toyota",
      		"modelo": "Corola",
      		"anoFabEMod": "2022/2022",
      		"versao": "XEI 2.0",
      		"cambio": "Automático",
      		"km": 21200,
      		"preco": 120.9
      	}
      ],
      "pageable": {
      	"sort": {
      		"empty": false,
      		"unsorted": false,
      		"sorted": true
      	},
      	"offset": 0,
      	"pageNumber": 0,
      	"pageSize": 20,
      	"unpaged": false,
      	"paged": true
      },
      "last": true,
      "totalPages": 1,
      "totalElements": 5,
      "size": 20,
      "number": 0,
      "sort": {
      	"empty": false,
      	"unsorted": false,
      	"sorted": true
      },
      "first": true,
      "numberOfElements": 5,
      "empty": false
    }
    EXCLUIR CONTA- /contas/{id}

    Descrição

    Deletar a conta.

    Códigos de Resposta

    • 204: No Content.

    Exemplo de Requisição

    • DELETE - /contas/{id}
    • HTTP/1.1
    • Host: localhost:8080
    EFETUAR SAQUE - /contas/saque

    Descrição

    Efetua um saque do saldo da conta.

    Códigos de Resposta

    • 200: OK!.

    Exemplo de Requisição

    • PUT /contas

    • Host: localhost:8080

      {
        "id": 1,
        "valor": "920.00"

    } ```

    Exemplo de Resposta

    • HTTP/1.1 200 OK
    • Content-Type: application/json
      Saque efetuado com sucesso - 2023-06-02T15:57:15.411927900
    EFETUAR DEPÓSITO - /contas/deposito

    Descrição

    Efetua um deposito para o saldo da conta.

    Códigos de Resposta

    • 200: OK!.

    Exemplo de Requisição

    • PUT /contas

    • Host: localhost:8080

      {
        "id": 1,
        "valor": "780.00"

    } ```

    Exemplo de Resposta

    • HTTP/1.1 200 OK
    • Content-Type: application/json
      Depósito efetuado com sucesso - 2023-06-02T15:57:15.411927900
    EFETUAR TRANSFERÊNCIA - /contas/transferencia

    Descrição

    Efetua uma transferência de uma quantia de saldo de uma conta para outra.

    Códigos de Resposta

    • 200: OK!.

    Exemplo de Requisição

    • PUT /contas

    • Host: localhost:8080

      {
          "idContaRemetente": "1",
          "valor": "200.00",
          "idContaDestino": "7"
      } ```
      

    Exemplo de Resposta

    • HTTP/1.1 200 OK
    • Content-Type: application/json
      Transferência realizada com sucesso! - 2023-06-02T15:12:54.502614100

    ❗Observações

    Este projeto é apenas uma demonstração básica de um banco ("netbank") utilizando Spring e Banco de Dados. Para fins de aprendizado e desenvolvimento.

    🖐️Autor

    Kauã Caldeira Vilas Boas

    📞Contato

    About

    Este projeto é uma API para um site de loja de carros seminovos

    Topics

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Languages