Spring boot, Spring data jpa, thymeleaf, spring-web, spring-mvc,lombok, mysql, h2, spring security, Authentication
- This is a simple customer bank application to perform customer transactions
- Customer Sign Up
- Customer Login
- Add as many as accounts for single customer
- Perform deposits
- Perform withdrawals
- You can’t withdrawal money from an account that doesn’t have enough money
- You can check the balance of a given account
- Check the history of transactions
- It supports both in memory DB and mysql
Please Follow Step1
Hibernate , jdbc, embedded tomcat, sql etc..
-> Add mysql database connection details 1)How to install mysql and create schema on mac https://www.youtube.com/watch?v=xX9W5dmEpO0 2)Run the below command from terminal 3)mysql.server start 4) Mysql -u root -p 5)enter password for mysql admin 6)Create a schema name : customer-banking-app 7)Run the app from terminal : spring-boot:run
-> Add h2 database connection details this in memory database and test data will be volatile on every deplyment run we need to pump data in to tables along with application deployment.
-> Add hibernate dialect, this will choose better sql for given database
-> Add hibernate ddl auto : this will create schema automatically and create/update columns
-> Add Thymeleaf and web config
This application requires below tables like, -> Create Account -- it provide details like account_balance, curreny etc -> Role -- role details like role name etc -> Withdrawals -> Deposits -> User - user details like email, password, username
In this section we create the repository interfaces
In this section we develop User service interface and implement user service class In the User service implementation class has functionality for user registration and password validation
In this section we create POJO'S like CustomerAccountForm, UserCreateForm, WithdrawalForm, DepositForm these java POJO's will store application content that we display in frontend view.
In this section we have created authorisation for user
In this section we focus on to develop web security
In this section we create controllers for add customer account , list customer account, deposits, withdrawals, signup, login, logout, balance etc
In this section we create validations for the username, password, email
Latest complied and minified CSS
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
jQuery library
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Latest compiled JavaScript
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
In this section thymeleaf serves the HTML5 pages for login, register, deposits, withdrawals etc.
Spring data Jpa :https://www.petrikainulainen.net/spring-data-jpa-tutorial/ Themeleaf: https://o7planning.org/en/12345/thymeleaf Spring boot: https://www.javaguides.net Boostrap template: https://getbootstrap.com/docs/3.3/components/#navbar