MULTIVERSE OS [VERSION 2.1.0-PROD]
ESTABLISHING NEURAL CONTEXT LINK...
HOST: PORTFOLIO_SERVER
STATUS: ONLINE_BOOT
> CPU: HYPER-THREADED COGNITIVE CORE (16x)
> RAM: 64.0 GB COGNITIVE MEMORY MATRIX
> NETWORK: QUANTUM-TUNNELED ENDPOINT
> PROTOCOL: SECURE SHELL V2 (PORTFOLIO-OS)
> STACK: NEXT.JS / REACT / TAILWIND
> SECURE ENCLAVE STATUS: ONLINE
[ LOAD ]Initializing Multiverse OS...
[ WAIT ]Loading Candidate Profile...
[ WAIT ]Loading Projects...
[ WAIT ]Loading Skills Database...
[ WAIT ]System Ready.
BOOT_PROGRESS0%
Press any key or click anywhere to skip boot sequence
(SYSTEM WILL AUTOMATICALLY INITIALIZE IN 3s)
CLASSIFIED_MISSION_BRIEFING // ID: PATIENT-MANAGEMENT-SERVICE // STATUS: COMPLETED

Patient Management Service

Hospital Billing & Microservices System

01_MISSION_OBJECTIVE_AND_CONTEXT

> Mission Objective

Architected a hospital billing system as independently deployable microservices using Spring Boot. Enabled asynchronous event streaming via Kafka and low-latency RPC via gRPC. Containerized services using Docker. Implemented authentication and role-based access control using Spring Security.

> Problem Statement

Hospital billing platforms require high reliability, role-based isolation, and asynchronous coordination to process complex transactions without blocking client operations.

02_ENGINEERED_SYSTEM_AND_ARCHITECTURE

> Implemented Solution

Divided the hospital system domains into separate microservices using Spring Boot, using gRPC for low-latency internal communication and Kafka event streams for asynchronous transaction updates. Containerized each service under Docker and secured endpoints via Spring Security authentication.

> Architectural Design Schematic

Hospital Gateway -> Spring Security Filter -> Core Microservices (gRPC & REST) -> Kafka Event Streams -> Relational Database Clusters.

03_OPERATIONAL_CHALLENGES_LOGGED

  • Maintaining database transaction consistency across multiple microservices without double-charging billing channels.
  • Securing internal gRPC communication channels while keeping request overhead low.

04_METRICS_AND_DEBRIEFING_ANALYTICS

> Mission Results

  • Decoupled patient management and billing into independently scalable deployable units.
  • Reduced system-wide latency by using binary gRPC communication instead of REST.

> Engineering Lessons Learned

  • Event-driven state synchronization requires careful outbox pattern designs to prevent event duplicates.
  • Spring Security filter chains must be explicitly configured on gateways to ensure unified CORS and RBAC controls.

05_LINKED_GITHUB_REPOSITORY_DOSSIER

VIEW_FULL_EXPLORER_FILE →
STARS / FORKS:0 ★ / 0
ACTIVITY_LEVEL:Medium
> Core Concepts
  • Vector Similarity Search
  • Event-Driven Streaming
  • Binary RPC Communication
  • Multi-Agent State Orchestration
> Complexity Indicators
  • Polyglot Tech Stack Ingestion
  • Multi-Protocol Streaming Topology
  • Extensive System Documentation
  • Code Snippet Demonstrations

> Live README.md Documentation

Patient Service

---

Environment Variables

JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005;
SPRING_DATASOURCE_PASSWORD=password;
SPRING_DATASOURCE_URL=jdbc:postgresql://patient-service-db:5432/db;
SPRING_DATASOURCE_USERNAME=admin_user;
SPRING_JPA_HIBERNATE_DDL_AUTO=update;
SPRING_KAFKA_BOOTSTRAP_SERVERS=kafka:9092;
SPRING_SQL_INIT_MODE=always

Billing Service

---

gRPC Setup

Add the following to the <dependencies> section
`
<!--GRPC -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
<version>1.69.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>1.69.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>1.69.0</version>
</dependency>
<dependency> <!-- necessary for Java 9+ -->
<groupId>org.apache.tomcat</groupId>
<artifactId>annotations-api</artifactId>
<version>6.0.53</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.devh</groupId>
<artifactId>grpc-spring-boot-starter</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>4.29.1</version>
</dependency>

Replace the <build> section with the following

<build>
<extensions>
<!-- Ensure OS compatibility for protoc -->
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.7.0</version>
</extension>
</extensions>
<plugins>
<!-- Spring boot / maven -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

<!-- PROTO -->
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.6.1</version>
<configuration>
<protocArtifact>com.google.protobuf:protoc:3.25.5:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.68.1:exe:${os.detected.classifier}</pluginArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

Patient Service

---

## Environment Variables (complete list)
```bash
BILLING_SERVICE_ADDRESS=billing-service;
BILLING_SERVICE_GRPC_PORT=9005;
JAVA_TOOL_OPTIONS=-agentlib:jdwp\=transport\=dt_socket,server\=y,suspend\=n,address\=*:5005;
SPRING_DATASOURCE_PASSWORD=password;
SPRING_DATASOURCE_URL=jdbc:postgresql://patient-service-db:5432/db;
SPRING_DATASOURCE_USERNAME=admin_user;
SPRING_JPA_HIBERNATE_DDL_AUTO=update;
SPRING_KAFKA_BOOTSTRAP_SERVERS=kafka:9092;
SPRING_SQL_INIT_MODE=always
`

gRPC Setup

Add the following to the <dependencies> section
`
<!--GRPC -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
<version>1.69.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>1.69.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>1.69.0</version>
</dependency>
<dependency> <!-- necessary for Java 9+ -->
<groupId>org.apache.tomcat</groupId>
<artifactId>annotations-api</artifactId>
<version>6.0.53</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.devh</groupId>
<artifactId>grpc-spring-boot-starter</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>4.29.1</version>
</dependency>

Replace the <build> section with the following

<build>
<extensions>
<!-- Ensure OS compatibility for protoc -->
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.7.0</version>
</extension>
</extensions>
<plugins>
<!-- Spring boot / maven -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

<!-- PROTO -->
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.6.1</version>
<configuration>
<protocArtifact>com.google.protobuf:protoc:3.25.5:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.68.1:exe:${os.detected.classifier}</pluginArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

Kafka Container

Copy/paste this line into the environment variables when running the container in intellij
`
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://localhost:9094;KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER;KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093;KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT;KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094;KAFKA_CFG_NODE_ID=0;KAFKA_CFG_PROCESS_ROLES=controller,broker
`

Kafka Producer Setup (Patient Service)

Add the following to application.properties
`
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
`

Notification Service

---

Environment Vars

SPRING_KAFKA_BOOTSTRAP_SERVERS=kafka:9092

Protobuf/Kafka

Dependencies (add in addition to whats there)

<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
    <version>3.3.0</version>

<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>4.29.1</version>
</dependency>
`

Update the build section in pom.xml with the following

    <build>
        <extensions>
            <!-- Ensure OS compatibility for protoc -->
            <extension>
                <groupId>kr.motd.maven</groupId>
                <artifactId>os-maven-plugin</artifactId>
                <version>1.7.0</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>

<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.6.1</version>
<configuration>
<protocArtifact>com.google.protobuf:protoc:3.25.5:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.68.1:exe:${os.detected.classifier}</pluginArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
`

Auth service

Dependencies (add in addition to whats there)

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
<version>0.12.6</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<version>0.12.6</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId>
<version>0.12.6</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>

`

Environment Variables

SPRING_DATASOURCE_PASSWORD=password
SPRING_DATASOURCE_URL=jdbc:postgresql://auth-service-db:5432/db
SPRING_DATASOURCE_USERNAME=admin_user
SPRING_JPA_HIBERNATE_DDL_AUTO=update
SPRING_SQL_INIT_MODE=always

Data.sql

sql
-- Ensure the 'users' table exists CREATE TABLE IF NOT EXISTS "users" ( id UUID PRIMARY KEY, email VARCHAR(255) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, role VARCHAR(50) NOT NULL

-- Insert the user if no existing user with the same id or email exists
INSERT INTO "users" (id, email, password, role)
SELECT '223e4567-e89b-12d3-a456-426614174006', 'testuser@test.com',
'$2b$12$7hoRZfJrRKD2nIm2vHLs7OBETy.LWenXXMLKf99W8M4PUwO6KB7fu', 'ADMIN'
WHERE NOT EXISTS (
SELECT 1
FROM "users"
WHERE id = '223e4567-e89b-12d3-a456-426614174006'
OR email = 'testuser@test.com'
);

Auth Service DB

Environment Variables

POSTGRES_DB=db;POSTGRES_PASSWORD=password;POSTGRES_USER=admin_user

MISSION_METADATA

OPERATIONAL_STATUS:COMPLETED
SYSTEM_ID:PATIENT-MANAGEMENT-SERVICE
CHRONO_YEAR:2025
SECURITY_CLEARANCE:RECRUITER_LEVEL_1
HOST_DOCKET:PORTFOLIO_SYSTEM_OS

TECHNOLOGY_INVENTORY

JavaSpring BootKafkagRPCDockerSpring Security
[EXTENSION: ORACLE_TELEMETRY]

Secure integration path for ORACLE system analytics. Connects real-time compiler telemetry and AI metrics evaluation on this build.

[EXTENSION: CHRONO_LOG]

Milestone tracking datastream for operational deployments. Maps historical project milestones, commit frequency, and release paths.

[EXTENSION: RECRUITER_ANALYSIS]

Candidate alignment report panel. Matches project challenges and achievements against targeted job skills matrices.

SYS_STATUS: NOMINAL|