Reliable order processing through event-driven architecture.
A backend system that explores how orders and payments can communicate asynchronously without compromising data consistency. Orders, items, and integration events are persisted atomically using PostgreSQL and the Transactional Outbox Pattern.
Debezium captures committed events through change data capture and publishes them to Apache Kafka, allowing the payment service to process orders independently. The project also includes runtime validation, containerized infrastructure, an Nginx entry point, and a Kafka monitoring interface.
Highlights
- Event-driven microservices architecture
- Transactional Outbox Pattern
- Change data capture with Debezium
- Asynchronous communication through Kafka
- Atomic PostgreSQL transactions
- Order and product validation with Zod
- Docker-based development environment
Technologies
TypeScript · Fastify · PostgreSQL · Apache Kafka · Debezium · Docker · Nginx · Zod
Status
An evolving educational project focused on distributed systems, reliable event publishing, and service decoupling.
Short card description
Event-driven order and payment processing built with TypeScript, PostgreSQL, Kafka, Debezium, and the Transactional Outbox Pattern.