The Online Banking Platform is a full-stack web application developed to provide a hands-on understanding of how a banking application works, with the main focus on account statement generation. The platform allows users to authenticate, view transactions within a specified date range, and generate account statements as PDFs, complete with digital signatures. It also includes full CRUD (Create, Read, Update, Delete) operations for managing transactions.
Note: The CRUD operations on transactions are implemented solely for educational purposes to demonstrate how backend operations can be managed. These features would not typically be included in the frontend of an actual banking application due to security and operational integrity concerns.
-
Backend:
- Spring Boot: Framework for building the backend, ensuring robust data management and efficient database interactions.
- MySQL: Relational database used for storing user information and transaction data.
- Hibernate: ORM framework used to map Java objects to database tables.
- iText: Library used for generating PDFs with digital signatures.
-
Frontend:
- Angular: Framework for building a responsive and user-friendly interface.
- Java 11 or higher
- Maven
- MySQL
- Node.js & npm
- Angular CLI
-
Clone the repository:
git clone https://github.com/shreyam462/OnlineBankingPlatform.git cd OnlineBankingPlatform/Backend
-
Configure MySQL:
- Create a database named
banking_app
. - Update the database connection properties in
application.properties
located insrc/main/resources/
.
- Create a database named
-
Set up the database schema:
Execute the db.sql file located in the root directory to set up the necessary database schema:
mysql -u <username> -p<password> banking_app < ../db.sql
-
Build and run the backend:
mvn clean install mvn spring-boot:run
-
Navigate to the frontend directory:
cd ../Frontend
-
Install dependencies:
npm install
-
Run the Angular development server:
ng serve
The application will be available at
http://localhost:4200
.
Contributions are welcome! Please submit a pull request or open an issue to discuss any changes.
This project is licensed under the MIT License. See the LICENSE file for more details.
For any questions or inquiries, please contact [email protected].