Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chizuru-nina-yamauchi/online_banking_system_springboot_postgresql
Assignment to build application with Java, Spring Boot, JPA, PostgreSQL, Maven, Jakarta EE, hibernate
https://github.com/chizuru-nina-yamauchi/online_banking_system_springboot_postgresql
hibernate java jpa junit-test mockito orm postgresql relational-database spring-boot spring-mvc spring-security thymeleaf
Last synced: 6 days ago
JSON representation
Assignment to build application with Java, Spring Boot, JPA, PostgreSQL, Maven, Jakarta EE, hibernate
- Host: GitHub
- URL: https://github.com/chizuru-nina-yamauchi/online_banking_system_springboot_postgresql
- Owner: chizuru-nina-yamauchi
- Created: 2024-05-22T13:46:26.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-06-10T20:36:45.000Z (5 months ago)
- Last Synced: 2024-06-10T23:34:52.644Z (5 months ago)
- Topics: hibernate, java, jpa, junit-test, mockito, orm, postgresql, relational-database, spring-boot, spring-mvc, spring-security, thymeleaf
- Language: Java
- Homepage:
- Size: 283 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Assignment: Enhance the Online Banking System with Transaction Management
Assignment created and guided with README file by Safwan kher(https://github.com/safwan-kher).
---
README and instruction by Safwan kher.#### Objective:
Extend the functionality of an existing Online Banking System by incorporating advanced transaction management using `@Transactional` and `@Modifying` annotations. This involves creating services for opening new accounts, depositing money, withdrawing money, and transferring funds between accounts. Additionally, update the Thymeleaf templates to allow users to interact with these new functionalities using Bootstrap 5 for styling.#### Requirements:
1. **Advanced Transaction Management:**
- Use `@Transactional` to ensure that all financial transactions are processed in a secure and consistent manner.
- Use `@Modifying` for direct updates in the database for operations like deposits and withdrawals.2. **Service Layer Updates:**
- Develop methods that handle the creation of new accounts, deposits, withdrawals, and transfers, ensuring all operations are transactionally secure.3. **Controller Enhancements:**
- Introduce new endpoints in the controller to handle requests for each banking operation.4. **View Modifications:**
- Modify Thymeleaf templates to include forms for each banking operation.
- Ensure that the user interface is intuitive and responsive.#### Tasks:
1. **Implement Transactional Operations:**
- Create a method to open a new bank account.
- Implement a method to deposit money into an account.
- Develop a method for withdrawing money from an account.
- Set up a method to transfer money between two accounts.2. **Thymeleaf Template Implementation:**
- Design forms for opening a new account, depositing money, withdrawing money, and transferring funds.
- Use Bootstrap 5 to ensure the forms are responsive and user-friendly.3. **Testing:**
- Test all functionalities to ensure they work as expected and handle edge cases like overdrafts and transfer errors.#### Thymeleaf Templates with Bootstrap 5:
### 1. Home Page Template (home.html)
This template serves as the landing page and includes links to other functionalities like account creation, deposits, withdrawals, and transfers.
```html
Online Banking System
```
### 2. New Account Form Template (new-account.html)
This template includes a form for opening a new bank account.
```html
Open New Account
Open a New Account
Account Type
Savings
Checking
Initial Deposit
Open Account
```
### 3. Deposit Form Template (deposit.html)
This template includes a form for depositing money into an account.
```html
Deposit Money
Deposit Money
Account Number
Amount
Deposit
```
### 4. Withdrawal Form Template (withdraw.html)
This template includes a form for withdrawing money from an account.
```html
Withdraw Money
Withdraw Money
Account Number
Amount
Withdraw
```
### 5. Transfer Form Template (transfer.html)
This template includes a form for transferring money between two accounts.
```html
Transfer Money
Transfer Money
From Account Number
To Account Number
Amount
Transfer
```
These templates provide a comprehensive user interface for the Online Banking System, allowing users to manage their accounts and perform various transactions efficiently. The use of Bootstrap 5 ensures that the interface is modern and responsive.
---
Result by Chizuru Yamauchi
![pic1](./src/main/resources/pics/pic1.png)
![pic2](./src/main/resources/pics/pic2.png)
![pic3](./src/main/resources/pics/pic3.png)
![pic4](./src/main/resources/pics/pic4.png)- *Before transfer money*
![pic6](./src/main/resources/pics/pic6.png)
![pic5](./src/main/resources/pics/pic5.png)
- *After transfer money*
![pic7](./src/main/resources/pics/pic7.png)
- *Added features to log in and security*
![pic8](./src/main/resources/pics/pic8.png)
![pic9](./src/main/resources/pics/pic9.png)
![pic10](./src/main/resources/pics/pic10.png)