Skip to content
Skip to content
All projects
Case study 03Backend & APIsCompleted

Transaction Categorizer API

A Spring Boot REST API that categorizes financial transactions using configurable keyword-based rules and priority matching.

Demo pendingRepository pending

Project brief

Context and intent

Java 17Spring BootMavenSpring WebSpring Data JPAH2Bean ValidationJUnit 5REST APIs

I built this API to demonstrate backend modeling, RESTful interface design, validation, and extensible classification logic. The project is organized as a service that can evolve from deterministic rules toward more assisted decision-making without changing its public contract.

Problem

Financial applications need a reliable way to classify transactions consistently so that users can review spending patterns without manually sorting every entry.

Target user

Developers and product teams needing a clean backend service for transaction categorization.

Architecture

Spring Boot controllers, service-layer business logic, repository-based persistence, request validation, and JUnit-based test coverage.

My contribution

I designed the API structure, created entities and repositories, implemented categorization logic, developed REST endpoints, added validation, created unit tests, and organized the project for interview demonstration and review.

Current status

Completed as a backend-focused academic project with core CRUD flows and business-rule enforcement.

Future improvements

I would expand the rule engine, improve persistence and test coverage, and document the API more clearly.

Content confirmation required

Repository and deployment details will be added if I share this project more broadly.

01

Key features

  • Create and retrieve categorization rules
  • Submit and retrieve transactions
  • Assign categories based on matching keywords and priorities
  • Return an UNCATEGORIZED fallback for unmatched cases
02

Engineering challenges

  • Designing a clean rule model that handles overlapping matches without ambiguity
  • Keeping the categorization logic testable and easy to reason about
03

Lessons learned

  • Validation and explicit edge cases prevent a lot of downstream confusion
  • Good API contracts make internal iteration safer as the domain grows

Continue exploring

One project is part of a broader engineering story.

View all projects