Code Monkey home page Code Monkey logo

netbank-api's Introduction

API NetBank

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

    • Listar todas as contas cadastradas
    • Cadastrar uma nova Conta
    • Excluir uma Conta
    • Efetuar um saque
    • Efetuar depósito
    • Efetuar transferência

    🖥️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
    /contas/novaConta * POST
    /contas/getAll * GET
    /contas/{id} * DELETE
    /contas/saque * PUT
    /contas/deposito * PUT
    /contas/transferencia * PUT
    CRIAR CONTA - /contas/novaConta

    Descrição

    • Cria uma conta e instancia-a no banco de dados.

    Códigos de Resposta

    • 201: CREATED.

    Exemplo de Requisição

    • POST - /contas/novaConta
    • HTTP/1.1
    • Host: localhost:8080
    • Content-Type: application/json
    {
      "numero": 48976,
      "conta": 713,
      "cliente": {
          "nome": "Kauã",
          "sobrenome": "Vilas Boas",
          "email": "[email protected]",
          "cpf": "09158963156",
          "endereco": {
          "rua": "rua 7",
          "bairro": "bairro 7",
          "cidade": "Salvador",
          "numeroResidencial": "960"
          }
      
        }
      }

    Exemplo de Resposta

    • HTTP/1.1 201 CREATED
    • Content-Type: application/json
        Conta criada!
    LISTAR CONTAS - /contas/getAll

    Descrição

    Lista as contas contidas 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
    [
    {
        "id": 1,
        "saldo": 923.0,
        "numero": 115789,
        "conta": 556,
        "cliente": {
            "nome": "Kaua",
            "sobrenome": "Vilas Boas",
            "cpf": "09158963544",
            "endereco": {
                "rua": "rua 1",
                "bairro": "bairro 1",
                "cidade": "Salvador",
                "numeroResidencial": 556
            }
        }
    },
    {
        "id": 7,
        "saldo": 0.0,
        "numero": 13245,
        "conta": 768,
        "cliente": {
            "nome": "Leonardo",
            "sobrenome": "Silva",
            "cpf": "09158963029",
            "endereco": {
                "rua": "rua 4",
                "bairro": "bairro 4",
                "cidade": "Salvador",
                "numeroResidencial": 416
            }
        }
    }
    ]
    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

    netbank-api's People

    Contributors

    kauavilasboas avatar

    Stargazers

     avatar

    Watchers

     avatar

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. 📊📈🎉

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google ❤️ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.