Desafio Final BlueBank Grupo X
Membros
-
Leonardo Silva
https://github.com/LeonardoMFSilva/
📘 https://www.linkedin.com/in/leeosilva/ -
Marcus Vinicius Santos de Oliveira
https://github.com/Marvin99SO
📘 https://www.linkedin.com/in/marcus-vinicius-santos-de-oliveira-1430a21b4/ -
Maria Júlia Alencar Muniz
https://github.com/mariajuliamuniz
📘 https://www.linkedin.com/in/mariajuliamuniz1/ -
Yuri Jivago Xavier Diniz
https://github.com/yurijivago
📘 https://www.linkedin.com/in/yuri-jivago-xavier-diniz-49aa97bb/ -
Apresentação do projeto
https://bit.ly/grupoX-presentation
O Desafio
O banco fictício BlueBank está construindo uma nova plataforma e precisa de uma API para gerenciar as transações. Utilize suas novas habilidades com Java, Banco de Dados e AWS. O sistema deve permitir cadastro de novos clientes, incluindo dados pessoais e dados para contato. O cliente deve ser atrelado a uma conta bancária e registrar histórico de transações entre as contas.
Entrega Mínima
-
Metodologias Ágeis:
a. Kanban com todas as tarefas organizadas e responsáveis definidos. -
Back-end:
a. Cadastro de clientes
b. Listagem de clientes
c. Atualização de clientes
d. Deletar clientes
e. Histórico de transações entre contas -
Banco de Dados:
a. Tabelas bem estruturadas e populadas com valores para testes.
b. O Banco deve ser entregue em script SQL junto ao repositório. -
Gerais:
a. O código deve ser entregue em um repositório no Github.
b. A API deve ser disponibilizada em ambiente AWS com EC2 e em Beanstalk.
c. A aplicação deve ter um pipeline em Jenkins ou no Aws Build.
d. A aplicação precisa ser configurada no API Gateway da AWS.
e. A aplicação precisa ter no mínimo um endpoint de SNS para cadastro de emails e verificação automática.
f. A aplicação precisa ter no mínimo um Lambda.
g. Liste os endpoints no README.md
Entrega Opcional
Testes automatizados, podem ser testes unitários ou testes de integração.
Como parte dos requisitos para o desafio final do Pan Academy, temos a listagem dos endpoints da nossa API no arquivo README.md que encontra-se no diretório raiz da aplicação:
Listagem dos endpoints da nossa API
clientes-controller
-
[GET] /clientes/{id}
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/clientes/{id} -
[DELETE] /clientes/{id}
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/clientes/{id} -
[POST] /clientes/cadastrar
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/clientes/cadastrar -
[PUT] /clientes/editar
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/clientes/editar -
[GET] /clientes/listar
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/clientes/listar
contas-controller
-
[GET] /contas/{id}
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/{id} -
[DELETE] /contas/{id}
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/{id} -
[POST] /contas/cadastrar
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/cadastrar -
[PUT] /contas/editar
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/editar
enderecos-controller
-
[GET] /enderecos/{id}
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/{id} -
[DELETE] /enderecos/{id}
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/{id} -
[POST] /enderecos/cadastrar
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/cadastrar -
[PUT] /enderecos/editar
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/editar
transacao-controller
-
[GET] /transacao/{id}
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/{id} -
[DELETE] /transacao/{id}
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/{id} -
[POST] /transacao/cadastrar
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/cadastrar -
[PUT] /transacao/editar
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/editar -
[GET] /transacao/listartodos/{id}
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/listartodos/{id} -
[GET] /transacao/listartodosdata/{id}&{dataInicio}&{dataFim}
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/listartodosdata/{id}&{dataInicio}&{dataFim}
home-controller
-
[GET] /
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/ -
[HEAD] /
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/ -
[POST] /
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/ -
[PUT] /
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/ -
[DELETE] /
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/ -
[OPTIONS] /
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/ -
[PATCH] /
http://sqxt2-env.eba-k423m3gi.us-east-2.elasticbeanstalk.com/
Estrutura do Projeto
desafio-final-banco-pan-X
├── Arquivos db
├── bluebankx
│ ├── .mvn/wrapper
│ ├── src
│ │ ├── main
│ │ │ ├── java/com/panacademy/grupox/bluebankx
│ │ │ │ ├── config
│ │ │ │ ├── controller
│ │ │ │ ├── dao
│ │ │ │ ├── dto
│ │ │ │ ├── helpers
│ │ │ │ ├── models
│ │ │ │ ├── service
│ │ │ │ └── BlueBankXApplication.java
│ │ │ └── resources
│ │ └── test
│ │ └── java/com/panacademy/grupox/bluebankx
│ ├── .gitignore
│ ├── README.md
│ ├── buildspec.yml
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ └── pom.xml
├── .gitignore
└── README.md
Diagrama entidade relacionamento - DER
Arquitetura do Microserviço