This project is a backend banking management system developed using Java, Spring Boot, Hibernate, JDBC, and MySQL. It includes over 50+ RESTful APIs to manage customers, accounts, branches, ATMs, and credit operations. Each API supports complete CRUD operations and the architecture follows best practices of clean separation and layered design.
- Java
- Spring Boot (REST API Development)
- Hibernate (ORM for Mapping)
- JDBC (Direct DB Access)
- MySQL (Relational Database)
- Postman (API Testing)
src/ ├── main/ │ ├── java/ │ │ ├── controller/ # Handles incoming HTTP requests │ │ ├── service/ # Contains business logic │ │ ├── dao/ # Traditional DAO layer for DB access │ │ ├── gdao/ # Generic DAO for reusable DB logic │ │ ├── repository/ # JPA Repositories for entity operations │ │ ├── exception/ # Custom exception handling classes │ │ └── model/ # Hibernate-mapped entity classes │ └── resources/ │ ├── application.properties # DB and config settings │ └── ...
This architecture enables clean code, easy debugging, and reusable components. The controller layer directly interacts with clients (Postman or frontend), passes data to the service layer, which in turn delegates tasks to the DAO or GDAO layer for database operations.
- 50+ APIs with proper CRUD operations
- Modular and layered Spring Boot architecture
- Entity-to-table mapping using Hibernate
- Exception handling with meaningful responses
- Structured DAO and GDAO layers for clear data access
- REST API testing done via Postman
- Clone the repository
- Configure
application.propertieswith MySQL credentials - Run the app via your IDE or
mvn spring-boot:run - Use Postman to test all endpoints
- Withdrawal and full transaction tracking not implemented yet
- No frontend/UI included (backend only)
Nagarjuna Nallimilli
Java Backend Developer | MCA Graduate | Passionate about building high-performance and growth-ready backend systems