Fees & Receipts API
Projects — — Links: Github Repo — Live

High performance REST API for Student Finance Management. Built with Java 21 & Spring Boot 3. Features idempotent payment processing, Flyway migrations, and automated PDF receipt generation.
The Problem
Educational institutions often struggle with fragmented financial data, leading to payment discrepancies, lost revenue, and a poor student experience. Manual tracking of bursary fees and the generation of receipts is prone to human error and lacks a reliable audit trail. There was a clear need for a centralized, high-integrity system that could automate the invoicing lifecycle while ensuring that every transaction is validated, idempotent, and transparent.
Database Architecture & Entity Relationships
To solve the challenge of data integrity, I designed a relational schema that enforces strict links between students, their invoices, and processed payments. This architecture includes an audit layer (Anomalies) to track and flag any financial discrepancies automatically.


Key Contributions
- Engineered a scalable Spring Boot architecture utilizing a layered pattern of Controllers, Services, and Repositories to ensure a clean separation of concerns and long-term maintainability.
- Designed an idempotent payment processing logic using unique transaction keys and checksums to eliminate duplicate charges and guarantee financial data integrity.
- Developed an automated document engine using Thymeleaf and OpenHTMLtoPDF to dynamically generate high-fidelity, server-side PDF receipts directly from database records.
- Implemented version-controlled database migrations using Flyway to ensure seamless schema evolution and consistency between development and production environments.
Technology Used
- Java 21 & Spring Boot 3: The primary stack used for its robust type-safety and enterprise-grade features for building secure RESTful services.
- PostgreSQL: The relational database chosen for ACID compliance and reliable handling of structured student and financial records.
- Flyway: A database migration tool used to manage versioned SQL scripts, ensuring the production schema remains in sync with the application code.
- Hibernate/JPA: An ORM framework used to map Java entities to database tables, reducing boilerplate SQL and simplifying data persistence.
- Thymeleaf & OpenHTMLtoPDF: A combination of templating and rendering engines used to transform dynamic HTML into professional PDF documents.
- Docker & Render: Technologies used to containerize the application and deploy it via a managed cloud environment with automated CI/CD.
- Swagger/OpenAPI: An interactive documentation tool used to provide a live UI for API discovery, testing, and frontend integration.