Skip to content

IcaroPablo/BlueBank

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desafio final da PanAcademy

Um desafio que consiste em criar uma API REST para gerenciamento de contas bancárias e suas respectivas transações.

Sobre este repositório

Este repositório foi construído não só para cumprir o desafio final do bootcamp de Java + Spring + AWS ministrado pela Gama Academy em conjunto com o Banco Pan, mas também porque nos propusemos a sermos desafiados por nós mesmos com relação ao nosso trabalho em equipe e, obviamente, em conhecimentos técnicos referentes às ferramentas usadas.

Este repositório contém não só o código principal da aplicação, mas também uma documentação que visa explicar o processo de concepção e de desenvolvimento do projeto, incluindo, além das explicações referentes a ferramentas e métodos técnicos, explicações referentes a ferramentas e métodos de gestão.

Logo abaixo você encontrará um índice com explicações mais detalhadas sobre o que foi mencionado :)

Documentação

As funcionalidades do código estão descritas em uma série de páginas web construídas pela ferramenta Javadoc, para ter acesso à documentação do código basta entrar na pasta /project/doc e dar dois clicks no arquivo index.html, seu navegador deverá fazer o resto ;)

As descrições de cada endpoint estão em uma página web construída pela ferramenta Swagger, esta página pode ser acessada através do link localhost:8080/swagger-ui.html quando a aplicação estiver em execução ;D

No índice de links a seguir estão detalhes sobre o desafio proposto, o desenvolvimento do projeto e um guia rápido para todos os endpoints que poderão ser igualmente acessado pelo Swagger.

Instruções para instalação e execução local

Caso vocẽ queira executar o projeto na sua própria máquina basta ter pelo menos o JDK instalado, alguma IDE de sua preferência e um banco de dados MySQL devidamente configurado.

Você poderá obter o JDK pelos seguintes meios:

Guiá-lo por todo o processo de instalação dessa ferramenta e correção de eventuais problemas estão além do escopo deste guia.

Recomendamos o uso das seguintes IDEs:

Para a instalação do MySQL, há os seguintes meios:

Nota: em caso de distribuições Linux que usam Systemd, não esqueça de iniciar o daemon do banco de dados com os comandos:
sudo systemctl start mysql
ou
sudo systemctl start mariadb

Crie um usuário e senha no seu banco de dados e altere o valor das chaves spring.datasource.username e spring.datasource.password do arquivo application.properties com as suas credenciais.

Defina os valores das variáveis de ambiente AWS_ID e AWS_SECRET com suas credenciais de acesso AWS, para que o cadastro de emails funcione corretamente. Caso tenha dúvidas sobre como obter suas credenciais veja o guia AWS Account and Access Keys.

Com o JDK instalado e o banco de dados instalado e devidamente configurado, basta importar o projeto na sua IDE e executar a classe principal.

Uma página descrevendo cada possível requisição em cada possível endpoint deverá estar acessível a partir do endereço localhost:8080/swagger-ui.html no seu navegador.

Apesar de poder ser executado localmente, este projeto foi feito para ser implantado em um servidor remoto da AWS, a descrição do processo está no arquivo documentation/AWS_deploy.md

Como contribuir

  1. Faça um fork deste repositório e clone-o na sua máquina pessoal
$ git clone https://github.com/alanomenezes/BlueBank.git
  1. Crie uma branch para implementar a sua contribuição (apenas por boa prática, mas você pode simplesmente modificar sua branch main)
$ git checkout -b my-new-feature-branch
  1. Dê commit na sua contribuição
$ git commit -am 'Add some feature'
  1. Dê um push para seu repositório remoto
$ git push origin my-new-feature-branch
  1. Crie um novo pull request para este repositório a partir do repositório do seu fork

Autores

Este repositório foi construído colaborativamente pelos seguintes membros: Alano Menezes, Marcos Paulo, Hellimateas Chaves, Pedro Henrique e Ícaro Pablo.

Licença

Este projeto está licenciado sob a licença GPLv3, veja o arquivo LICENSE para mais detalhes.

Agradecimentos

Gama academy e banco Pan, por todas essas aulas interessantes, pelos desafios propostos e pela excelente orientação durante todo o percurso do treinamento. Agradecemos especialmente nossos instrutores Jenifer Plácido, Jonathan Ferreira e Ana Verônica

About

Projeto Final da PanAcademy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 91.1%
  • Java 6.4%
  • JavaScript 1.3%
  • CSS 1.2%