← Back to projects

Backend – Spring Boot microservice

Vouchers

Goal

Build a flexible and secure voucher engine able to handle different voucher types (gift, employee, supporter, etc.) with a full lifecycle (creation, sharing, partial and full consumption, blocking).

Result / Impact

An extensible voucher platform used by Crédit Mutuel du Sénégal that supports multiple voucher types, integrates cleanly in the banking ecosystem and provides advanced security and documentation for partner applications.

Key technologies

Spring Boot, Spring Security, JWT, Spring Data JPA, MySQL, MapStruct, Lombok, iText, Spring Actuator, ReDoc, Swagger UI, Logback/Logstash.

Project description

Vouchers is a voucher management application built with Spring Boot. It manages the full lifecycle of vouchers: creation, configuration, sharing and consumption for different use cases such as gifts, employee benefits, marketing campaigns or supporters.

The architecture is based on a Strategy pattern to handle multiple voucher types, rich business rules (MCC, expiration date, blocking, sharing…) and an advanced security layer: user authentication with JWT + server sessions, application authentication via HMAC with anti-replay, rate limiting and full audit of incoming requests.

The solution is designed to integrate easily into an existing banking system, with full API documentation (OpenAPI, Swagger UI, ReDoc) and dedicated runtime profiles for development, pre-production and production.

Client

Crédit Mutuel du Sénégal

Role

Designed the architecture, implemented backend services, secured the API, implemented bootstrap mode, integrated documentation and configured logging and runtime profiles.

Technologies

Spring Boot, Spring Security, Spring Data JPA, JWT, Spring Mail, Spring Actuator, MySQL, MapStruct, Lombok, Maven, iText, Logback, Logstash, OpenAPI/Swagger UI, ReDoc.

Results / Impact

  • Extensible architecture that allows new voucher types to be added without impacting existing ones (Strategy pattern).
  • Strong security posture combining JWT + server sessions + HMAC-based App Auth + anti-replay + rate limiting.
  • Improved integration experience for client teams thanks to rich documentation (ReDoc, Swagger UI, OpenAPI, Spring REST Docs).
  • Easier monitoring and maintenance thanks to Actuator, Logback and Logstash.

Features & responsibilities

Voucher management

Configuration management

Supported voucher types

Architecture and extensibility

Voucher creation (details)

Voucher consumption (details)

Voucher sharing (details)

User security (JWT + server sessions)

Application security (App Auth HMAC + Anti-replay) for client apps

Client application management

Bootstrap mode (one-time setup)

Embedded API documentation

Next project: Addon Partenaire →