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.