Skip to content

Guilherme76/MandacaruBroker_Parte2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MandaCaru Broker API

Descrição

A MandaCaru Broker API é uma aplicação Spring Boot desenvolvida para facilitar o gerenciamento de informações relacionadas a ações (stocks) por meio de operações CRUD (Create, Read, Update, Delete). Com essa API, os usuários podem realizar diversas operações, como listar todas as ações disponíveis, obter detalhes de uma ação específica, criar novas ações, atualizar informações de ações existentes e excluir ações do sistema.

Parâmetros da API

O Mandacaru Broker API aceita os seguintes parâmetros em suas solicitações:

• symbol: O símbolo da ação, que deve consistir em três letras seguidas de um número. Por exemplo: BBAS3.

• companyName: O nome da empresa associada à ação.

• price: O preço da ação.

• id: O ID único associado a cada ação na plataforma.

Recursos

Listar Todas as Ações

Obtenha uma lista completa de todas as ações disponíveis.

Endpoint:

GET /stocks

Exemplo de Resposta:

{
  {
    "id": 1,
    "symbol": "XYZ1",
    "companyName": "XYZ Corporation",
    "price": 150.25
  },
  {
    "id": 2,
    "symbol": "ABC2",
    "companyName": "ABC Inc.",
    "price": 2775.00
  },
  ...
}

Este endpoint permite que você obtenha uma lista completa de todas as ações disponíveis na plataforma.

Obter uma Ação por ID

Retorna os detalhes de uma ação específica com base no ID.

Endpoint:

GET /stocks/{id}

Parâmetros:

id: O ID único da ação que deseja ser obtida.

Exemplo de Solicitação

GET /stocks/1

Exemplo de Resposta:

{
  "id": 1,
  "symbol": "XYZ1",
  "companyName": "XYZ Corporation",
  "price": 150.25
}

Ao fornecer o ID da ação desejada, este endpoint retorna os detalhes completos dessa ação específica.

Criar uma Nova Ação

Cria uma nova ação com base nos dados fornecidos.

Endpoint:

POST /stocks

Corpo da Solicitação (Request Body):


{
  "symbol": "XYZ1",
  "companyName": "XYZ Corporation",
  "price": 56.97
}

Exemplo de Resposta (Status 201 - Created):

{
  "id": 3,
  "symbol": "XYZ1",
  "companyName": "XYZ Corporation",
  "price": 56.97
}

Este endpoint permite a criação de uma nova ação. Para isso, você precisa fornecer os detalhes da nova ação no corpo da solicitação.

Também é necessário você incluir o símbolo da ação, o nome da empresa e o preço no formato JSON.

Atualizar uma Ação por ID

Atualiza os detalhes de uma ação específica com base no ID.

Endpoint:

PUT /stocks/{id}

Parâmetros:

id: O ID único da ação que deseja ser atualizada.

Corpo da Solicitação (Request Body):

{
  "symbol": "BBA3",
  "companyName": "Banco do Brasil",
  "price": 59.97
}

Exemplo de Resposta (Status 200 - OK):

{
  "id": 1,
  "symbol": "XYZ",
  "companyName": "XYZ Corporation",
  "price": 159.97
}

Ao fornecer o ID da ação que deseja atualizar e os novos detalhes no corpo da solicitação, este endpoint permite a atualização dos detalhes dessa ação.

Excluir uma Ação por ID

Remove uma ação específica com base no ID.

Endpoint:

DELETE /stocks/{id}

Parâmetros:

id: O ID único da ação que deseja ser excluída.

Exemplo de Solicitação:

DELETE /stocks/3

Exemplo de Resposta (Status 204 - No Content):

Nenhum conteúdo na resposta, apenas o status 204 indicando que a exclusão foi bem-sucedida.

Este endpoint permite a exclusão de uma ação específica com base no ID fornecido. Uma vez excluída, a ação não estará mais disponível na lista de ações.

Novas Rotas

Autenticação de Usuários - Register/Login

Para autenticar um usuário e obter um token JWT, envie uma solicitação POST para o endpoint /auth/register com as credenciais do usuário no corpo da solicitação

Exemplo de Solicitação:

POST /auth/register
Content-Type: application/json
{
    "login": "novo_usuario",
    "password": "sua_senha_segura",
    "email": "[email protected]",
    "firstName": "Primeiro Nome",
    "lastName" : "Sobrenome",
    "birthDate": "1990-01-01",
    "balance": 100,
    "role" : "ROLE_USER"
}

Para autenticar um usuário e obter um token JWT, envie uma solicitação POST para o endpoint /auth/login com as credenciais do usuário no corpo da solicitação

POST /auth/login
Content-Type: application/json
{
  "username": "usuario_exemplo",
  "password": "senha_exemplo"
}

Se as credenciais forem válidas, o servidor retornará um token JWT no corpo da resposta. Este token pode então ser usado em requisições posteriores para acessar rotas protegidas da API.

Exemplo de Solicitação:

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyX2V4cGxvbWUiLCJpYXQiOjE2NDE2NzAwMjEsImV4cCI6MTY0MTY3MzYyMX0.q1x_NJ-Gk43sq0m6e5z6Tv7Zz1fI0_gR-5vEwYSvT1s"
}

Endpoints Adicionais

Depósito

Realiza um depósito na conta do usuário.

Endpoint:

POST /deposit

Corpo da Solicitação (Request Body):


{
  "amount": 100.00
}

Exemplo de Resposta (Status 200 - OK):

{
  "message": "Depósito realizado com sucesso"
}

Saque

Realiza um saque na conta do usuário.

Endpoint:

POST /withdraw

Corpo da Solicitação (Request Body):


{
  "amount": 50.00
}

Exemplo de Resposta (Status 200 - OK):

{
  "message": "Saque realizado com sucesso"
}

Uso

  1. Clone o repositório: git clone https://github.com/Guilherme76/MandacaruBroker_Parte2
  2. Importe o projeto em sua IDE preferida.
  3. Configure o banco de dados e as propriedades de aplicação conforme necessário. A aplicação original utiliza o PostgreSQL como banco de dados. Certifique-se de ter um servidor PostgreSQL em execução e atualize as configurações de banco de dados no arquivo application.properties.
  4. Execute o aplicativo Spring Boot.
  5. Acesse a API em http://localhost:8080.

Você também pode usar o Postman ou qualquer outra ferramenta similar para testar os endpoints da API.

Requisitos

  • Java 11 ou superior
  • Maven
  • Banco de dados
  • PostGreSQL

Tecnologias Utilizadas

  • Spring Boot: Spring Boot é um framework Java que simplifica o processo de criação de aplicativos Java, fornecendo configurações padrão e convenções de projeto. Ele facilita o desenvolvimento de aplicativos robustos, escaláveis e fáceis de manter, integrando-se bem com outras tecnologias e frameworks.
  • Spring Data JPA: Spring Data JPA é parte do ecossistema Spring e fornece suporte para a implementação de camadas de persistência de dados em aplicativos Java com o uso do JPA (Java Persistence API). Ele simplifica o acesso e a manipulação de dados em bancos de dados relacionais por meio de interfaces de repositório e consultas derivadas.
  • Maven: Maven é uma ferramenta de automação de compilação e gerenciamento de dependências para projetos Java. Ele simplifica o processo de construção, empacotamento e distribuição de aplicativos Java, gerenciando automaticamente as dependências do projeto e facilitando a configuração do ambiente de desenvolvimento.
  • PostgreSQL: PostgreSQL é um sistema de gerenciamento de banco de dados relacional de código aberto e altamente escalável. Ele é amplamente utilizado em aplicativos corporativos e de missão crítica devido à sua confiabilidade, desempenho e recursos avançados de segurança e integridade de dados. Na API, o PostgreSQL é usado como o banco de dados principal para armazenar e manipular as informações sobre as ações (stocks).

Essas tecnologias trabalham em conjunto para fornecer uma base sólida para a Mandacaru Broker API, permitindo o desenvolvimento de uma aplicação eficiente, escalável e de alto desempenho para gerenciar informações sobre ações de forma confiável e segura.

Contribuições

Caso queira contribuir com a ideia ou relatar um problema, sinta-se a vontade para abrir uma Issue ou um Pull Request, toda e qualquer contribuição será bem-vindas!

Licença

Este projeto está licenciado sob a Licença MIT.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages