A fullstack modern banking system inspired by a legacy COBOL application. This project was developed as part of the Hackathon: COBOL to Modern Stack, modernizing core banking features using Spring Boot (Java) for the backend and Angular for the frontend.
The application implements secure customer management, account operations, and transaction handling, using JWT authentication, RESTful APIs, and a modular frontend interface with Angular.
squad2-cobol/
βββ backend/ # Spring Boot API (Java)
βββ frontend/ # Angular Web Application
βββ README.md # Unified documentation
- β Customer registration and authentication (JWT)
- β Account creation and management
- β Transaction logging (deposits, withdrawals)
- β Role-based access control
- β In-memory persistence with H2
- β OpenAPI/Swagger documentation
- β Unit tests with JUnit
- Java 17+
- Spring Boot
- Spring Security + JWT
- H2 Database
- Maven
- Java JDK 17+
- Maven 3.9.9+
- Git
git clone https://github.com/ieVictor/squad2-cobol.git
cd backend
# Unix
./mvnw spring-boot:run
# Windows
mvnw.cmd spring-boot:run- Create Customer:
curl -X POST http://localhost:8080/api/v1/customers/create -H "Content-Type: application/json" -d '{ "name": "John Doe", "email": "john@example.com", "password": "secure123", "birthdate": "1990-01-01" }'- Login:
curl -X POST http://localhost:8080/api/v1/auth/login -H "Content-Type: application/json" -d '{ "email": "john@example.com", "password": "secure123" }'- Create Account:
curl -X POST http://localhost:8080/api/v1/accounts/create -H "Authorization: Bearer <your-jwt-token>" -H "Content-Type: application/json" -d '{ "customerId": 1, "accountType": "CHECKING" }'Client Request β JWT Filter β Controller β Service β Repository β H2 Database
β β
ββββββββββββ Response ββββββ
- β User-friendly web interface
- β Login and registration forms
- β Account and transaction views
- β Real-time UI updates and validation
- β Angular Modules for structure and scalability
- Angular 17+
- TypeScript
- RxJS, Angular Forms
- Angular Material (optional)
- Node.js 18+
- Angular CLI 20+
cd frontend
npm install
ng serveVisit: http://localhost:4200
ng build# Unit tests
ng test
# End-to-end tests (configure framework first)
ng e2e- Backend: JUnit + Spring Boot Test
- Frontend: Jasmine + Karma
- API: Swagger available at
http://localhost:8080/swagger-ui.html - Frontend Form Validation: Angular Reactive Forms
- JWT Issues: Ensure Bearer token is included and not expired.
- H2 Database: Access H2 console at
http://localhost:8080/h2-consolewithjdbc:h2:mem:testdb - CORS Errors: Make sure frontend and backend are configured to allow cross-origin requests.
Developed by Squad 2 during the Hackathon AI Talents, with the goal of transforming legacy COBOL program into a clean, scalable modern architecture.
- Aline Lika Hirokawa
- Cristovao Murilo Xavier Da Silva
- Grazielly De Sousa Barros
- Victor Fritsch Ribeiro
- Iarlon Soares Da Silva Oliveira
- Leonardo Paniz Aguiar
- Victor Gabriel Lucio
- Luiz Gabriel Alcantara Brito
- Vitor Antonio Santos Silva
- Vitor Galvao Mezzomo
- Gustavo Liebl Pereira
- Bruno Alexander Gomes Da Silveira
Thanks to the mentors and organizers who supported this challenge! π