← All work

Distributed systems showcase

PrairieMed

A bilingual healthcare information-system showcase demonstrating an appointment-to-invoice event flow across Next.js, Node.js, Spring Boot, PostgreSQL, MongoDB, Redis, Kafka-compatible messaging, GraphQL, and Docker.

What this project proves

  • Polyglot service architecture
  • Event-driven appointment, billing, notification, and audit flow
  • REST and GraphQL service boundaries
  • Containerized local infrastructure and automated testing

The problem

Healthcare workflows often require multiple services to coordinate appointments, billing, notifications, audit history, and reporting.

The project demonstrates how to keep those responsibilities separated while preserving an understandable end-to-end story.

My approach

Emit appointment events, create invoices through a Spring Boot billing service, persist audit history, deliver development email, and expose patient billing summaries through GraphQL.

Use Docker Compose to run the supporting databases, cache, message broker, mail service, APIs, and workers.

Architecture and engineering choices

  • Next.js frontend
  • Node.js GraphQL and worker services
  • Spring Boot billing API
  • PostgreSQL, MongoDB, Redis, and Redpanda
  • Jest, React Testing Library, Supertest, Vitest, and GitHub Actions

Truthful scope and boundaries

  • Portfolio architecture showcase using synthetic development data.
  • Not represented as a deployed clinical system or production electronic medical record.