Project Snapshot
Sales leaders needed a trustworthy system to track incentives across cards, loans, and cross-selling campaigns. This backend streamlines goal management, reward policies, and compliance-ready reporting.
Business Context
- Built to replace spreadsheets that obscured advisor performance and bonus eligibility.
- Equips managers with transparent dashboards to coach teams and justify payouts.
- Lays the groundwork for omnichannel banking experiences by exposing clean REST APIs.
Core Capabilities
- JWT-secured authentication with Spring Security guarding every endpoint.
- Role-specific workflows for managers, advisors, finance analysts, and reporting stakeholders.
- Goal and points engine that ties products to reward tiers, updates progress, and prevents duplicate credit.
- Comprehensive API surface covering managers, advisors, financial products, clients, sales, and KPI reports.
- Realtime-ready architecture using WebSocket support for instant leaderboard refreshes.
Implementation Notes
- Spring Boot 3.1 with JPA orchestrates persistence against MySQL, supported by H2 for local testing.
- OpenAPI/Swagger documentation auto-generated via SpringDoc for faster onboarding.
- Modular layering (controllers, services, repositories) keeps business rules testable and extensible.
- Packaged with Maven for streamlined deployment into bank-managed infrastructure.
My Role
I reimagined the legacy rewards process, modelled the domain, implemented the security and data layers, and configured observability scaffolding for future production rollout.
Tech Stack
Java 17 · Spring Boot 3 · Spring Security · MySQL 8 · JWT · OpenAPI
Explore the Code
- GitHub Repository: rommel-rodriguez/reward_system_back-end