The Online Banking System is a comprehensive web application designed to simulate real-world banking functionalities. It allows users to manage their accounts, perform financial transactions, and view transaction histories securely. The application includes both user-facing and administrative functionalities.
Online-Banking/
├── .idea/
├── .mvn/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── OnlineBanking/
│ │ │ │ ├── config/
│ │ │ │ │ ├── EncoderConfig.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ ├── controller/
│ │ │ │ │ ├── AccountController.java
│ │ │ │ │ ├── UserController.java
│ │ │ │ ├── dto/
│ │ │ │ │ ├── TransferForm.java
│ │ │ │ ├── exception/
│ │ │ │ │ ├── AccountNotFoundException.java
│ │ │ │ │ ├── InsufficientFundsException.java
│ │ │ │ ├── model/
│ │ │ │ │ ├── Account.java
│ │ │ │ │ ├── User.java
│ │ │ │ ├── repository/
│ │ │ │ │ ├── AccountRepository.java
│ │ │ │ │ ├── UserRepository.java
│ │ │ │ ├── service/
│ │ │ │ │ ├── BankingService.java
│ │ │ │ │ ├── BankingServiceImpl.java
│ │ │ │ │ ├── UserServiceImpl.java
│ │ │ │ ├── unit/
│ │ │ │ │ ├── OnlineBankingSystemApplication.java
│ │ ├── resources/
│ │ │ ├── templates/
│ │ │ │ ├── accountSuccess.html
│ │ │ │ ├── deposit.html
│ │ │ │ ├── home.html
│ │ │ │ ├── login.html
│ │ │ │ ├── new-account.html
│ │ │ │ ├── openAccount.html
│ │ │ │ ├── signup.html
│ │ │ │ ├── transfer.html
│ │ │ │ ├── withdraw.html
│ │ │ ├── application.properties
├── test/
├── target/
├── .gitignore
├── mvnw
├── mvnw.cmd
├── pom.xml
├── README.md
- Open, view, and close accounts.
- Deposit, withdraw, and transfer funds securely.
- User registration, login, and role-based access control.
- Manage users and view all accounts.
- Responsive HTML templates for all key features.
- Backend: Java, Spring Boot
- Frontend: Thymeleaf, Bootstrap 5
- Database: PostgreSQL
- Build Tool: Maven
- Security: Spring Security
- Java 17+
- PostgreSQL
- Maven
git clone https://github.com/Ioannis-Laventzakis/Online-Banking.git
cd Online-Banking
- Install PostgreSQL and create a database named online_banking.
- Update application.properties with your PostgreSQL credentials:
spring.datasource.url=jdbc:postgresql://localhost:5432/online_banking
spring.datasource.username=<your-username>
spring.datasource.password=<your-password>
- Run the application:
mvn spring-boot:run
- Open a web browser and navigate to http://localhost:8080.
- Visit http://localhost:8080 to access the application.
- Register as a user or log in to an existing account.
- Perform banking transactions, view account details, and manage user accounts (for admin users).
Contributions are welcome! Please feel free to submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
Email: Glaventzakis@gmail.com