A secure and modular banking system developed using Java 17, Spring Boot, and MySQL. The project implements RESTful APIs for core banking operations such as user registration, account management, transactions, and balance tracking.
- 👤 User registration and authentication
- 🏦 Account creation and listing
- 🔐 Secured endpoints using Spring Security
- 📡 RESTful API architecture
- 🧱 Layered architecture (Controller ➡ Service ➡ Repository)
| Layer | Technology |
|---|---|
| 💻 Language | Java 17 |
| 🌱 Framework | Spring Boot, Spring Security |
| 🗄 ORM | Hibernate via Spring Data JPA |
| 🧾 Database | MySQL |
| 🎨 View Layer | Thymeleaf (optional) |
| ⚙ Build Tool | Maven |
[Frontend / Client]
↓
[🔧 Controller Layer]
↓
[🧠 Service Layer]
↓
[💽 Repository Layer]
↓
[🗄 MySQL Database]
- ✅ Java 17+
- ✅ Maven
- ✅ MySQL Server
- ✅ IDE (IntelliJ IDEA / VS Code)
git clone https://github.com/yashpatil118/Banking_Application---SpringBoot.git
cd Banking_Application---SpringBootUpdate src/main/resources/application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/banking_app
spring.datasource.username=your_mysql_username
spring.datasource.password=your_mysql_password
spring.jpa.hibernate.ddl-auto=updateMake sure the database
banking_appexists.
mvn spring-boot:runVisit http://localhost:8080 for the frontend (if enabled), or use Postman for APIs.
mvn test- 🔑 JWT-based Authentication
- 📦 Dockerfile + Docker Compose Support
- 🔍 Swagger API Docs (
springdoc-openapi) - 📬 Email/SMS Notifications
- ⚙️ GitHub Actions CI/CD Integration
Contributions are welcome! 🧡
Follow the steps below:
- Fork the repository 🍴
- Create a new branch
feature/my-feature - Commit your changes
- Push the branch and create a PR
Yash Patil
🔗 GitHub: @yashpatil118