Skip to content

Luiz-lab/Hello_Bank_G6

Repository files navigation

📰 Documentação da API HelloBank

Bem-vindo à documentação da API HelloBank. Através dela, você poderá utilizar as funcionalidades e recursos disponíveis do sistema.

Esse projeto fazer parte do treinamento da Gama Academy com IBM - ✊ If black, then code | Turma 2 (Grupo 6)

O que é API HelloBank?


É uma API desenvolvida pelo grupo Black Man {Coding} para a empresa Hello Bank (banco fictício).

Sendo um sistema que permite cadastrar novos clientes, incluir dados pessoais e dados para contato.

Também possibilita registrar o histórico das transações entre contas.

Tecnologias e ferramentas utilizadas


  • Git

  • Github

  • Docker

  • Jenkins

  • Amazon AWS

  • Elastic Beanstalk

  • Lambda

  • JDK 11

  • Hibernate

  • Spring Initializr (Maven, dependências)

  • IDE VScode

  • Trello

Pré - Requisitos


Comandos para utilizar no projeto


Após fazer o git clone do projeto você pode abrir o arquivo no VS Code e executar alguns comandos que foram automatizados.

Para executá-los é do digitar no terminal ./nomedoarquivo.sh

  • (build.sh)
    comando mvn clean (Limpa todas as dependências(.jars).
    comando mvn package (gera os .jars).

  • (run.sh)
    comando java -jar target/hellobank-0.0.1-SNAPSHOT.jar (Executa a aplicação).

  • (git_docker_push.sh)
    comando docker build para atribuir várias tags a uma imagem em um único comando).


🔒 Endpoints

A maioria das rotas necessitam de um token de autenticação que pode ser obtido ao fazer login ou criação de cliente.

Rota de autenticação (no token)


Cliente (token)


Conta Corrente (token)


Transferência (token)


Transação(token)



🔸 Script SQL

Hibernate


Hibernate:
create table cliente_t (
   c_cliente_id uuid not null,
    c_cpf varchar(255) not null,
    c_created_at timestamp not null,
    c_email varchar(255) not null,
    c_endereco varchar(255),
    c_nome varchar(255) not null,
    c_senha varchar(255) not null,
    c_tel varchar(255),
    c_updated_at timestamp,
    primary key (c_cliente_id)
)

Hibernate:

create table conta_corrente_t (
   c_conta_corrente_id uuid not null,
    c_created_at timestamp not null,
    c_limite_negativo float8,
    c_saldo float8 not null,
    c_updated_at timestamp,
    c_cliente_id uuid,
    primary key (c_conta_corrente_id)
)

Hibernate:

create table transacao_t (
   c_transacao_id uuid not null,
    c_created_at timestamp not null,
    c_tipo_transacao varchar(255) not null,
    c_updated_at timestamp,
    c_valor float8 not null,
    c_cliente_id uuid not null,
    primary key (c_transacao_id)
)

Hibernate:

create table transferencia_t (
   c_transferencia_id uuid not null,
    c_created_at timestamp not null,
    c_updated_at timestamp,
    c_valor float8 not null,
    c_cliente_destinatario_id uuid,
    c_cliente_remetente_id uuid,
    primary key (c_transferencia_id)
)

Hibernate:

alter table cliente_t
   drop constraint UK_797w5pvv6w36222lanb6outh9

Hibernate:

alter table cliente_t
   add constraint UK_797w5pvv6w36222lanb6outh9 unique (c_cpf)

Hibernate:

alter table cliente_t
   drop constraint UK_6dhibi73dc5iyuexovfhobyh7

Hibernate:

alter table cliente_t
   add constraint UK_6dhibi73dc5iyuexovfhobyh7 unique (c_email)

Hibernate:

alter table conta_corrente_t
   drop constraint UK_bqtiap2bpq1ssclaqd65fvx7m

Hibernate:

alter table conta_corrente_t
   add constraint UK_bqtiap2bpq1ssclaqd65fvx7m unique (c_cliente_id)

Hibernate:

alter table conta_corrente_t
   add constraint FKgsr667lpuhxvxlq41npbferne
   foreign key (c_cliente_id)
   references cliente_t

Hibernate:

alter table transacao_t
   add constraint FKewdbf43b87c1pc8cbn8oukdg6
   foreign key (c_cliente_id)
   references cliente_t

Hibernate:

alter table transferencia_t
   add constraint FKewik8dqxqyupalhq0evpj4f73
   foreign key (c_cliente_destinatario_id)
   references cliente_t

Hibernate:

alter table transferencia_t
   add constraint FKrr61ojxi10r9d6hlhrobyvlp7
   foreign key (c_cliente_remetente_id)
   references cliente_t

🔗 Links do projeto

Trello


- Método Kanban> https://trello.com/b/narX2YQV/banco-fict%C3%ADcio-hellobank-desafio-final-ibm

Documentação em PDF


- Documentação: https://drive.google.com/file/d/1W3iM5IwryciPVExCJUzRzmQ6VZjsikuM/view?usp=sharing

Apresentação do Projeto


- Projeto: https://drive.google.com/file/d/1O4q0NV-q_fRRgYIbXkbYD183UYRChvTT/view?usp=sharing

Documentação da API


- Documentação da API: https://documenter.getpostman.com/view/13139925/2s7Z12H4hf


😜 Equipe

Warning Variáveis de ambiente e acesso ao banco estão expostas de forma proposital

About

Projeto Hello Banck Grupo 6

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages