Code Monkey home page Code Monkey logo

bankline-gama's Introduction

Bankline Gama

API de um Bankline com cadastro de usuário, plano de contas e lançamentos. Também é possível visualizar os lançamentos de determinado usuário através do dashboard. O usuário é autenticado por JWT e os endpoints protegidos pelo Spring Security com exceção do endpoint de criação de usuário. Este projeto foi proposto como desafio final da Academia Accenture promovido pela parceria entre Gama Academy e Accenture. Foi utilizado as tecnologias Spring Boot, H2, Spring Security, JWT e Swagger.

A documentação da API pode ser acessada em https://bankline-gamaacademy.herokuapp.com/swagger-ui.html

Javeiros de Konoha

  • Murilo Sérgio Rodrigues Júnior: Realizou a construção da estrutura inicial com entidades, controllers e repositories, a codificação da parte relacionada a Lançamentos, configuração do Swagger e deploy no Heroku.
  • Vivian Tanaka: Realizou a codificação das partes relacionadas ao Usuário, Contas, Dashboard, ajustes em Lançamentos e Segurança Spring Security e JWT.

Endpoints

Usuário

1. Criação de novo usuario

POST /usuarios

Ao criar um novo usuário é criado automatomaticamente duas contas (conta de débito e conta de crédito) e três planos de conta padrão (DESPESA PADRÃO, RECEITA PADRÃO e TRANSFERENCIA PADRÃO).

Paramêtros do body em JSON:

  • nome: String
  • login: String
  • cpf: String
  • senha: String

2. Busca de usuário por id

GET /usuarios/{id}

Parâmetro de caminho (PathVariable):

  • id: Integer

3. Busca de contas por login de usuário

GET /usuarios/contas/{login}

Parâmetro de caminho (PathVariable):

  • login: String

Lançamentos

1. Criação de novo lançamento

POST /lancamentos

Ao criar um novo lançamento, o saldo da(s) conta(s) envolvida(s) são atualizadas para refletir o tipo movimento do lançamento. Parâmetros do body JSON:

  • data: Date em formato yyyy-MM-dd
  • conta: Integer
  • descricao: String
  • planoConta: Integer
  • valor: Double

2. Criação de novo plano de conta

POST /lancamentos/planos-conta

Parâmetros do body JSON:

  • descricao: String
  • login: String
  • padrao: Boolean
  • tipoMovimento: Integer

3. Busca de planos de conta por login de usuário

GET /lancamentos/planos-conta/{login}

Parâmetro de caminho (PathVariable):

  • login: String

Dashboard

1. Relação de lançamentos por conta por período

GET /dashboard?login={login}&dataInicial={dataInicial}&dataFinal={dataFinal}

É obrigatório informar o período e login. Parâmetros de query (RequestParam):

  • login: String
  • dataInicial: Data em String em formato yyyy-MM-dd
  • dataFinal: Data em String em formato yyyy-MM-dd

Login

1. Autenticação e geração de token JWT

POST /login

Parâmetros do body JSON:

  • login: String
  • senha: String

bankline-gama's People

Contributors

murilosrj1990 avatar tanakav 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.