Skip to content
Hasan Rohan Tahsin
Back to selected work
In development

Event-Driven Order & Inventory Platform

The project is focused on service boundaries, REST APIs, asynchronous Kafka workflows, PostgreSQL persistence, and a Docker-based local development environment.

Role and Contribution

Backend project owner responsible for shaping the service boundaries, API contracts, persistence model, and failure-handling approach.

Problem and Context

Commerce workflows often span several responsibilities that should not be hidden inside one large service. This project explores how order intake, inventory reservation, payment, shipping, and notifications can coordinate while keeping service ownership clear.

Solution Overview

The implementation direction uses Spring Boot services with REST APIs for synchronous boundaries and Kafka events for asynchronous workflow steps. PostgreSQL stores service-owned data, while Docker supports local development as the system grows.

Architecture View

Engineering Decisions

  • Keep order, inventory, payment, shipping, and notification responsibilities separated so each service can evolve independently.
  • Use Kafka events for long-running workflow steps where immediate blocking calls would make failure handling harder.
  • Model inventory reservation and rollback explicitly instead of treating them as incidental database updates.

Technical Challenges

  • Coordinating state across asynchronous service boundaries without overstating completion.
  • Designing failure paths that remain understandable as more services are added.

Outcome and Current Status

In development. The case study documents the architecture direction and implementation focus without presenting roadmap items as finished work.

Lessons and Next Steps

  • Continue implementing service endpoints and event handlers.
  • Add integration tests around inventory reservation and rollback paths.
  • Complete the Docker-based local environment and CI/CD deployment roadmap.