Skip to content

amertu/clinic-process-automation

Repository files navigation

Clinic Workflow Automation System

End-to-end BPMN-driven system for streamlining dental clinic operations. Automates appointment handling, treatment tracking, lab coordination, and billing using containerized services, event-driven architecture, and Kubernetes orchestration.

Build

Docker Compose AWS Jenkins Java Spring Boot Camunda BPM PostgreSQL Kafka Kubernetes

Features

  • Modular BPMN Workflows: Developed Camunda-based workflows to automate patient processes and optimize resource management.
  • Event-Based Process Integration: Kafka used for loosely coupled communication between clinic and lab workflows.
  • CI/CD & Orchestration: Jenkins pipelines with AWS (ECR, EC2, EKS) and Kubernetes for scalable deployments.
  • BPMN Workflow Engine: Camunda for transparent, model-driven execution and lifecycle management.

Architecture

                +---------------------------------------------------------------+
                |                         GitHub Repository                     |
                +---------------------------+-----------------------------------+
                                            |
                                            | webhook
    
                +---------------------------------------------------------------+
                |                      Nginx (Reverse Proxy / Ingress)          |
                +---------------------------+-----------------------------------+
                                            |
                                            +----------------------------+
                                            |                            |
                                    +-------▼-------+            +-------▼-------+
                                    | Jenkins CI    |            |  AWS ECR      |
                                    | - Run Tests   |            |  (Docker      |
                                    | - Build &     |            |   Registry)   |
                                    |   Push Images |            +---------------+
                                    +-------+-------+
                                            |
                                            | Deploy Docker Images
    
                +---------------------------------------------------------------+
                |                 AWS EKS Kubernetes Cluster                    |
                |                                                               |
                |  +---------------------+   +---------------------+            |
                |  | Deployment:         |   | Deployment:         |            |
                |  | Camunda BPM Server  |   | Client Service      |            |
                |  | (Spring Boot)       |   | (Spring Boot + UI)  |            |
                |  +---------------------+   +---------------------+            |
                |                                                               |
                |  +---------------------+   +---------------------+            |
                |  | Deployment:         |   | Deployment:         |            |
                |  | Kafka Broker(s)     |   | Zookeeper           |            |
                |  | (Containers)        |   | (Containers)        |            |
                |  +---------------------+   +---------------------+            |
                |                                                               |
                |  +---------------------+                                      |
                |  | Deployment:         |                                      |
                |  | PostgreSQL          |                                      |
                |  | (StatefulSet + PV)  |                                      |
                |  +---------------------+                                      |
                |                                                               |
                |  +---------------------------------------------------------+  |
                |  | Services: Internal Service Communication & Kafka Topics |  |
                |  +---------------------------------------------------------+  |
                +---------------------------------------------------------------+
    
    
                                    Local developer
                                    triggers GitHub push
    
                         +-------------------------------------------+
                         | Local Development (docker-compose)        |
                         +-------------------------------------------+
                         | Camunda BPM Server (Spring Boot)          |
                         | Client Service (Spring Boot + HTML/CSS/JS)|
                         | Kafka + Zookeeper (Container)             |
                         | PostgreSQL (Container)                    | 
                         +-------------------------------------------+