Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leomssilva/finalprojectwipro-bankaccountmanagement
:muscle: :technologist: :brain: This api represents the creation of Spring Booster bank with current account and special account operations.
https://github.com/leomssilva/finalprojectwipro-bankaccountmanagement
java mysql spring
Last synced: about 6 hours ago
JSON representation
:muscle: :technologist: :brain: This api represents the creation of Spring Booster bank with current account and special account operations.
- Host: GitHub
- URL: https://github.com/leomssilva/finalprojectwipro-bankaccountmanagement
- Owner: LeoMSSilva
- License: mit
- Created: 2022-04-09T12:45:14.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-30T14:38:54.000Z (6 months ago)
- Last Synced: 2024-04-30T16:01:11.460Z (6 months ago)
- Topics: java, mysql, spring
- Language: Java
- Homepage: https://booster-bank-api.herokuapp.com/swagger-ui/index.html
- Size: 7.26 MB
- Stars: 2
- Watchers: 2
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Booster Bank
[![Author](https://img.shields.io/badge/author-LeoMSSilva-blue?style=flat-square)](https://github.com/LeoMSSilva)
[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000)](https://github.com/LeoMSSilva)
[![Languages](https://img.shields.io/github/languages/count/LeoMSSilva/finalProjectWipro-bankAccountManagement?color=blue&style=flat-square)](#)
[![Stars](https://img.shields.io/github/stars/LeoMSSilva/finalProjectWipro-bankAccountManagement?color=blue&style=flat-square)](https://github.com/LeoMSSilva/finalProjectWipro-bankAccountManagement/stargazers)
[![Forks](https://img.shields.io/github/forks/LeoMSSilva/finalProjectWipro-bankAccountManagement?color=blue&style=flat-square)](https://github.com/LeoMSSilva/finalProjectWipro-bankAccountManagement/network/members)
[![Contributors](https://img.shields.io/github/contributors/LeoMSSilva/finalProjectWipro-bankAccountManagement?color=blue&style=flat-square)](https://github.com/LeoMSSilva/finalProjectWipro-bankAccountManagement/graphs/contributors)---
# :pushpin: Table of Contents
- :house: [About](#house-about)
- :dart: [Installation](#dart-installation)
- :rocket: [Getting started](#rocket-getting-started)
- :computer: [Techs](#computer-techs)
- :bar_chart: [Diagrams](#bar_chart-diagrams)
- [UML - Use Case and Class Diagrams](#uml---use-case-and-class-diagrams)
- [Entity and Relationship Diagram](#entity-and-relationship-diagram)
- :cyclone: [Tests](#cyclone-tests)
- [Test in Postman](#test-in-postman)
- [Unit Test](#unit-test)
- :bust_in_silhouette: [Authors](#bust_in_silhouette-authors)
- :handshake: [Contributing](#handshake-contributing)
- :scroll: [License](#scroll-license)---
# :house: About
This project was developed with **Java**, using **Spring Boot** and **Spring Data JPA**.
**MySQL** was used as a database in development. **MySQL Workbench** was the SGBD used.
**PostgreSQL** was used as a database in production.
**Maven** was used as a dependency manager.
**Junit** was used for unit tests.
**Postman** and **insomnia** were used to perform **functional tests**.
**Swagger** was used to create the documentation, along with the interactive front-end **Swagger UI**.
**Heroku** was used to host the api with its documentation.
This api represents the creation of Spring Booster bank with current account and special account operations.
We have the following operations:
- Withdraw
- Deposit
- Bank transfer
---
# :dart: Installation
**First you need to install:**
- [Java OpenJDK 11](https://openjdk.java.net/projects/jdk/11) (required)
- [Eclipse IDE](https://www.eclipse.org/downloads) (required)
- [Spring Boot](https://spring.io/projects/spring-boot) (required)
**Then in order, clone the project.**
By HTTPS, running this command:
```bash
git clone https://github.com/LeoMSSilva/finalProjectWipro-bankAccountManagement.git
```Or by ssh, running this command:
```bash
git clone [email protected]:LeoMSSilva/finalProjectWipro-bankAccountManagement.git
```SSH is a secure protocol, but you need to register a key ssh in your github before.
---
# :rocket: Getting Started
Once all dependencies are downloaded, installed and configured correctly, you will need to create your environment variables in eclipse:
Navigate to Window>Show View>Other
Search boot panel
With the project open, go to the Boot Dashboard panel, right click on your project
Select Open Configuration
Write your environment variables inside the Replace properties field. Follow the model below substituting your own variables.
```bash
DATABASE_URL=urlUsedForDatabaseAccess
USER=yourMysqlUser
PASSWORD=passwordUsedInYourMysqlUser
```Access endpoints through **[swagger](https://booster-bank-api.herokuapp.com/swagger-ui/index.html)**.
---
# :computer: Techs
- Heroku
- Java
- JUnit
- Maven
- MySQL
- Mysql Driver
- MySQL Workbench
- PostgreSQL
- Postman / Insomnia
- Spring Boot
- Spring Data JPA
- Spring Web
- Swagger
- Swagger UI---
# :bar_chart: DiagramsWe work with the following diagrams:
# UML - Use Case and Class Diagrams
# Entity and Relationship Diagram
---
# :cyclone: Tests
We work with the following tests:
# Test in Postman
Project running locally and having its endpoints tested through the Postman application.
![Testing At The Postman](https://github.com/LeoMSSilva/finalProjectWipro-bankAccountManagement/blob/main/assets/TestingAtThePostman.gif)
# Unit Test
We used the Junit frameworks in version 5, and mockito, to move the data so that it was not persisted in the database.
They were tested in the service pack classes.
![testee](https://user-images.githubusercontent.com/86155080/166067310-d934bb58-58d7-434f-8280-176b9756f851.png)
---
# :bust_in_silhouette: Authors
| Collaborator | | | | | |
| :----------- | :--------------------------------------------------------------------------: | :-------------------------------------------------------------------: | :------------------------------------------------------: | :---------------------------------------------------------------------: | :------------------------------------------------------------------: |
| Github | [@LeoMSSilva](https://github.com/LeoMSSilva) | [@EdersonDeMelo](https://github.com/EdersonDeMelo) | [@israelld](https://github.com/israelld) | [@jefersonfavero](https://github.com/jefersonfavero) | [@Nathybozzon](https://github.com/Nathybozzon) |
| LinkedIn | [@LeoMSSilva](https://linkedin.com/in/LeoMSSilva) | [@EdersonDeMelo](https://www.linkedin.com/in/ederson-machado-de-melo) | [@israelld](https://www.linkedin.com/in/israellimadias) | [@jefersonfavero](https://www.linkedin.com/in/jeferson-favero-3a3b7ba6) | [@Nathybozzon](https://www.linkedin.com/in/nathalie-bozzon-32383256) |---
# :handshake: Contributing
Contributions, issues and feature requests are welcome! Feel free to **file a new issue** on the [finalProjectWipro-bankAccountManagement](https://github.com/LeoMSSilva/finalProjectWipro-bankAccountManagement/issues) repository. If you already found a solution to your problem, **I would love to review your pull request**!
---
# :scroll: License
Copyright :copyright: 2022 [@LeoMSSilva](https://github.com/LeoMSSilva), [@EdersonDeMelo](https://github.com/EdersonDeMelo), [@israelld](https://github.com/israelld), [@jefersonfavero](https://github.com/jefersonfavero) and [@Nathybozzon](https://github.com/Nathybozzon).
This project is [MIT](https://github.com/LeoMSSilva/finalProjectWipro-bankAccountManagement/blob/main/assets/LICENSE) licensed.---