Repository files navigation

Healio

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

A microservices-based platform that leverages AI to streamline healthcare appointments and telemedicine services, connecting patients with doctors through a scalable and modular architecture.

Tech Stack: Spring Boot (Backend Services) | Next.js (Frontend) | pnpm (Package Manager)


Services

All backend services are implemented using Spring Boot microservices architecture.

ServiceDescription
config-serviceCentralized configuration server (Spring Cloud Config) — manages externalized configuration for all microservices
discovery-serviceService Registry (Eureka) — enables dynamic service discovery and registration
gatewayAPI Gateway (Spring Cloud Gateway) — single entry point that routes client requests to the appropriate microservices
auth-serviceAuthentication & authorization service — handles user authentication, JWT tokens, and access control
user-serviceUser management — manages user profiles, roles, and account settings
patient-serviceManages patient profiles, registration, medical history, and patient-related data
doctor-serviceHandles doctor profiles, specializations, availability, and scheduling preferences
appointment-serviceManages booking, cancellation, and tracking of healthcare appointments
telemedicine-serviceEnables virtual consultations, video sessions, and remote care between patients and doctors
notification-serviceSends notifications to users via email, SMS, and in-app alerts
symptom-checker-serviceAI-powered symptom assessment and preliminary diagnosis suggestions

Project Structure

Healio/
├── client/ # Frontend application
├── services/
│ ├── config-service/ # Configuration server (Spring Cloud Config)
│ ├── discovery-service/ # Eureka service registry (Spring Cloud)
│ ├── gateway/ # API Gateway (Spring Cloud Gateway)
│ ├── auth-service/ # Authentication service (Spring Boot)
│ ├── user-service/ # User management service (Spring Boot)
│ ├── patient-service/ # Patient management service (Spring Boot)
│ ├── doctor-service/ # Doctor management service (Spring Boot)
│ ├── appointment-service/ # Appointment management service (Spring Boot)
│ ├── telemedicine-service/ # Telemedicine service (Spring Boot)
│ ├── notification-service/ # Notification service (Spring Boot)
│ └── symptom-checker-service/ # AI-powered symptom checker service (Spring Boot)
├── infra/ # Infrastructure configuration (Docker, K8s, etc.)
├── k8s/ # Kubernetes deployment configurations
│ ├── base/ # Base Kubernetes resources
│ ├── overlays/ # Environment-specific overlays (dev, staging, prod)
│ ├── services/ # Service-specific deployments
│ ├── database/ # Database deployment configs
│ ├── frontend/ # Frontend deployment configs
│ ├── monitoring/ # Monitoring and HPA configs
│ ├── deploy.sh # Deployment automation script
│ ├── kustomization.yaml # Kustomize configuration
│ └── README.md # Kubernetes documentation
├── config/ # Configuration files for services
├── scripts/ # Automation and deployment scripts
├── package.json # Root project configuration
├── pom.xml # Maven parent POM for all services
├── docker-compose.yml # Docker Compose configuration
└── README.md

Getting Started

Prerequisites

  • Java 17+ (for Spring Boot services)
  • Maven 3.8+ (for building services)
  • Node.js 18+ and pnpm (for frontend development and package management)

Environment Setup

Before starting the project, create environment files from the provided samples:

Root environment:

cp sample.env .env

Client environment:

cp client/healio/sample.env.local client/healio/.env.local

Edit these files with your actual configuration values.

PayPal sandbox setup for appointments requires:

  • PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET in root .env (used by appointment-service)
  • NEXT_PUBLIC_PAYPAL_CLIENT_ID in client/healio/.env.local (used by patient dashboard PayPal checkout UI)

Installation & Build

Install all dependencies (services and client):

pnpm run dependency

This command installs both backend service dependencies (Maven) and frontend dependencies (pnpm).

Build all Spring Boot services:

pnpm run build

Build Docker images for all services:

pnpm run build:docker

This builds all services and creates Docker images using docker-compose.yml.

Run all services (Locally):

pnpm run start

Run services in development mode (with hot reload):

pnpm run dev

Stop all running services:

pnpm run stop

Run tests:

pnpm run test

Individual Service Commands

Each service has its own pom.xml. To work with individual services:

cd services/<service-name>
mvn clean install # Build the service
mvn spring-boot:run # Run the service
mvn test# Run tests

Deployment

Kubernetes

The project includes complete Kubernetes deployment configurations using Kustomize for environment-based overlays (dev, staging, prod).

Quick Deploy:

# Development
./k8s/deploy.sh dev
# Staging
./k8s/deploy.sh staging
# Production
./k8s/deploy.sh prod

See k8s/README.md for comprehensive Kubernetes setup, management commands, and troubleshooting guides.


Development

Frontend

Navigate to the client/ directory for frontend development guidelines.

Backend Services

Each Spring Boot service runs independently and communicates via REST APIs through the API Gateway. Services register themselves with the discovery service for dynamic routing.


License

ISC

About

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Healio

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

A microservices-based platform that leverages AI to streamline healthcare appointments and telemedicine services, connecting patients with doctors through a scalable and modular architecture.

Tech Stack: Spring Boot (Backend Services) | Next.js (Frontend) | pnpm (Package Manager)


Services

All backend services are implemented using Spring Boot microservices architecture.

ServiceDescription
config-serviceCentralized configuration server (Spring Cloud Config) — manages externalized configuration for all microservices
discovery-serviceService Registry (Eureka) — enables dynamic service discovery and registration
gatewayAPI Gateway (Spring Cloud Gateway) — single entry point that routes client requests to the appropriate microservices
auth-serviceAuthentication & authorization service — handles user authentication, JWT tokens, and access control
user-serviceUser management — manages user profiles, roles, and account settings
patient-serviceManages patient profiles, registration, medical history, and patient-related data
doctor-serviceHandles doctor profiles, specializations, availability, and scheduling preferences
appointment-serviceManages booking, cancellation, and tracking of healthcare appointments
telemedicine-serviceEnables virtual consultations, video sessions, and remote care between patients and doctors
notification-serviceSends notifications to users via email, SMS, and in-app alerts
symptom-checker-serviceAI-powered symptom assessment and preliminary diagnosis suggestions

Project Structure

Healio/
├── client/ # Frontend application
├── services/
│ ├── config-service/ # Configuration server (Spring Cloud Config)
│ ├── discovery-service/ # Eureka service registry (Spring Cloud)
│ ├── gateway/ # API Gateway (Spring Cloud Gateway)
│ ├── auth-service/ # Authentication service (Spring Boot)
│ ├── user-service/ # User management service (Spring Boot)
│ ├── patient-service/ # Patient management service (Spring Boot)
│ ├── doctor-service/ # Doctor management service (Spring Boot)
│ ├── appointment-service/ # Appointment management service (Spring Boot)
│ ├── telemedicine-service/ # Telemedicine service (Spring Boot)
│ ├── notification-service/ # Notification service (Spring Boot)
│ └── symptom-checker-service/ # AI-powered symptom checker service (Spring Boot)
├── infra/ # Infrastructure configuration (Docker, K8s, etc.)
├── k8s/ # Kubernetes deployment configurations
│ ├── base/ # Base Kubernetes resources
│ ├── overlays/ # Environment-specific overlays (dev, staging, prod)
│ ├── services/ # Service-specific deployments
│ ├── database/ # Database deployment configs
│ ├── frontend/ # Frontend deployment configs
│ ├── monitoring/ # Monitoring and HPA configs
│ ├── deploy.sh # Deployment automation script
│ ├── kustomization.yaml # Kustomize configuration
│ └── README.md # Kubernetes documentation
├── config/ # Configuration files for services
├── scripts/ # Automation and deployment scripts
├── package.json # Root project configuration
├── pom.xml # Maven parent POM for all services
├── docker-compose.yml # Docker Compose configuration
└── README.md

Getting Started

Prerequisites

  • Java 17+ (for Spring Boot services)
  • Maven 3.8+ (for building services)
  • Node.js 18+ and pnpm (for frontend development and package management)

Environment Setup

Before starting the project, create environment files from the provided samples:

Root environment:

cp sample.env .env

Client environment:

cp client/healio/sample.env.local client/healio/.env.local

Edit these files with your actual configuration values.

PayPal sandbox setup for appointments requires:

  • PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET in root .env (used by appointment-service)
  • NEXT_PUBLIC_PAYPAL_CLIENT_ID in client/healio/.env.local (used by patient dashboard PayPal checkout UI)

Installation & Build

Install all dependencies (services and client):

pnpm run dependency

This command installs both backend service dependencies (Maven) and frontend dependencies (pnpm).

Build all Spring Boot services:

pnpm run build

Build Docker images for all services:

pnpm run build:docker

This builds all services and creates Docker images using docker-compose.yml.

Run all services (Locally):

pnpm run start

Run services in development mode (with hot reload):

pnpm run dev

Stop all running services:

pnpm run stop

Run tests:

pnpm run test

Individual Service Commands

Each service has its own pom.xml. To work with individual services:

cd services/<service-name>
mvn clean install # Build the service
mvn spring-boot:run # Run the service
mvn test# Run tests

Deployment

Kubernetes

The project includes complete Kubernetes deployment configurations using Kustomize for environment-based overlays (dev, staging, prod).

Quick Deploy:

# Development
./k8s/deploy.sh dev
# Staging
./k8s/deploy.sh staging
# Production
./k8s/deploy.sh prod

See k8s/README.md for comprehensive Kubernetes setup, management commands, and troubleshooting guides.


Development

Frontend

Navigate to the client/ directory for frontend development guidelines.

Backend Services

Each Spring Boot service runs independently and communicates via REST APIs through the API Gateway. Services register themselves with the discovery service for dynamic routing.


License

ISC

About

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Healio

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

A microservices-based platform that leverages AI to streamline healthcare appointments and telemedicine services, connecting patients with doctors through a scalable and modular architecture.

Tech Stack: Spring Boot (Backend Services) | Next.js (Frontend) | pnpm (Package Manager)


Services

All backend services are implemented using Spring Boot microservices architecture.

ServiceDescription
config-serviceCentralized configuration server (Spring Cloud Config) — manages externalized configuration for all microservices
discovery-serviceService Registry (Eureka) — enables dynamic service discovery and registration
gatewayAPI Gateway (Spring Cloud Gateway) — single entry point that routes client requests to the appropriate microservices
auth-serviceAuthentication & authorization service — handles user authentication, JWT tokens, and access control
user-serviceUser management — manages user profiles, roles, and account settings
patient-serviceManages patient profiles, registration, medical history, and patient-related data
doctor-serviceHandles doctor profiles, specializations, availability, and scheduling preferences
appointment-serviceManages booking, cancellation, and tracking of healthcare appointments
telemedicine-serviceEnables virtual consultations, video sessions, and remote care between patients and doctors
notification-serviceSends notifications to users via email, SMS, and in-app alerts
symptom-checker-serviceAI-powered symptom assessment and preliminary diagnosis suggestions

Project Structure

Healio/
├── client/ # Frontend application
├── services/
│ ├── config-service/ # Configuration server (Spring Cloud Config)
│ ├── discovery-service/ # Eureka service registry (Spring Cloud)
│ ├── gateway/ # API Gateway (Spring Cloud Gateway)
│ ├── auth-service/ # Authentication service (Spring Boot)
│ ├── user-service/ # User management service (Spring Boot)
│ ├── patient-service/ # Patient management service (Spring Boot)
│ ├── doctor-service/ # Doctor management service (Spring Boot)
│ ├── appointment-service/ # Appointment management service (Spring Boot)
│ ├── telemedicine-service/ # Telemedicine service (Spring Boot)
│ ├── notification-service/ # Notification service (Spring Boot)
│ └── symptom-checker-service/ # AI-powered symptom checker service (Spring Boot)
├── infra/ # Infrastructure configuration (Docker, K8s, etc.)
├── k8s/ # Kubernetes deployment configurations
│ ├── base/ # Base Kubernetes resources
│ ├── overlays/ # Environment-specific overlays (dev, staging, prod)
│ ├── services/ # Service-specific deployments
│ ├── database/ # Database deployment configs
│ ├── frontend/ # Frontend deployment configs
│ ├── monitoring/ # Monitoring and HPA configs
│ ├── deploy.sh # Deployment automation script
│ ├── kustomization.yaml # Kustomize configuration
│ └── README.md # Kubernetes documentation
├── config/ # Configuration files for services
├── scripts/ # Automation and deployment scripts
├── package.json # Root project configuration
├── pom.xml # Maven parent POM for all services
├── docker-compose.yml # Docker Compose configuration
└── README.md

Getting Started

Prerequisites

  • Java 17+ (for Spring Boot services)
  • Maven 3.8+ (for building services)
  • Node.js 18+ and pnpm (for frontend development and package management)

Environment Setup

Before starting the project, create environment files from the provided samples:

Root environment:

cp sample.env .env

Client environment:

cp client/healio/sample.env.local client/healio/.env.local

Edit these files with your actual configuration values.

PayPal sandbox setup for appointments requires:

  • PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET in root .env (used by appointment-service)
  • NEXT_PUBLIC_PAYPAL_CLIENT_ID in client/healio/.env.local (used by patient dashboard PayPal checkout UI)

Installation & Build

Install all dependencies (services and client):

pnpm run dependency

This command installs both backend service dependencies (Maven) and frontend dependencies (pnpm).

Build all Spring Boot services:

pnpm run build

Build Docker images for all services:

pnpm run build:docker

This builds all services and creates Docker images using docker-compose.yml.

Run all services (Locally):

pnpm run start

Run services in development mode (with hot reload):

pnpm run dev

Stop all running services:

pnpm run stop

Run tests:

pnpm run test

Individual Service Commands

Each service has its own pom.xml. To work with individual services:

cd services/<service-name>
mvn clean install # Build the service
mvn spring-boot:run # Run the service
mvn test# Run tests

Deployment

Kubernetes

The project includes complete Kubernetes deployment configurations using Kustomize for environment-based overlays (dev, staging, prod).

Quick Deploy:

# Development
./k8s/deploy.sh dev
# Staging
./k8s/deploy.sh staging
# Production
./k8s/deploy.sh prod

See k8s/README.md for comprehensive Kubernetes setup, management commands, and troubleshooting guides.


Development

Frontend

Navigate to the client/ directory for frontend development guidelines.

Backend Services

Each Spring Boot service runs independently and communicates via REST APIs through the API Gateway. Services register themselves with the discovery service for dynamic routing.


License

ISC

About

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Healio

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

A microservices-based platform that leverages AI to streamline healthcare appointments and telemedicine services, connecting patients with doctors through a scalable and modular architecture.

Tech Stack: Spring Boot (Backend Services) | Next.js (Frontend) | pnpm (Package Manager)


Services

All backend services are implemented using Spring Boot microservices architecture.

ServiceDescription
config-serviceCentralized configuration server (Spring Cloud Config) — manages externalized configuration for all microservices
discovery-serviceService Registry (Eureka) — enables dynamic service discovery and registration
gatewayAPI Gateway (Spring Cloud Gateway) — single entry point that routes client requests to the appropriate microservices
auth-serviceAuthentication & authorization service — handles user authentication, JWT tokens, and access control
user-serviceUser management — manages user profiles, roles, and account settings
patient-serviceManages patient profiles, registration, medical history, and patient-related data
doctor-serviceHandles doctor profiles, specializations, availability, and scheduling preferences
appointment-serviceManages booking, cancellation, and tracking of healthcare appointments
telemedicine-serviceEnables virtual consultations, video sessions, and remote care between patients and doctors
notification-serviceSends notifications to users via email, SMS, and in-app alerts
symptom-checker-serviceAI-powered symptom assessment and preliminary diagnosis suggestions

Project Structure

Healio/
├── client/ # Frontend application
├── services/
│ ├── config-service/ # Configuration server (Spring Cloud Config)
│ ├── discovery-service/ # Eureka service registry (Spring Cloud)
│ ├── gateway/ # API Gateway (Spring Cloud Gateway)
│ ├── auth-service/ # Authentication service (Spring Boot)
│ ├── user-service/ # User management service (Spring Boot)
│ ├── patient-service/ # Patient management service (Spring Boot)
│ ├── doctor-service/ # Doctor management service (Spring Boot)
│ ├── appointment-service/ # Appointment management service (Spring Boot)
│ ├── telemedicine-service/ # Telemedicine service (Spring Boot)
│ ├── notification-service/ # Notification service (Spring Boot)
│ └── symptom-checker-service/ # AI-powered symptom checker service (Spring Boot)
├── infra/ # Infrastructure configuration (Docker, K8s, etc.)
├── k8s/ # Kubernetes deployment configurations
│ ├── base/ # Base Kubernetes resources
│ ├── overlays/ # Environment-specific overlays (dev, staging, prod)
│ ├── services/ # Service-specific deployments
│ ├── database/ # Database deployment configs
│ ├── frontend/ # Frontend deployment configs
│ ├── monitoring/ # Monitoring and HPA configs
│ ├── deploy.sh # Deployment automation script
│ ├── kustomization.yaml # Kustomize configuration
│ └── README.md # Kubernetes documentation
├── config/ # Configuration files for services
├── scripts/ # Automation and deployment scripts
├── package.json # Root project configuration
├── pom.xml # Maven parent POM for all services
├── docker-compose.yml # Docker Compose configuration
└── README.md

Getting Started

Prerequisites

  • Java 17+ (for Spring Boot services)
  • Maven 3.8+ (for building services)
  • Node.js 18+ and pnpm (for frontend development and package management)

Environment Setup

Before starting the project, create environment files from the provided samples:

Root environment:

cp sample.env .env

Client environment:

cp client/healio/sample.env.local client/healio/.env.local

Edit these files with your actual configuration values.

PayPal sandbox setup for appointments requires:

  • PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET in root .env (used by appointment-service)
  • NEXT_PUBLIC_PAYPAL_CLIENT_ID in client/healio/.env.local (used by patient dashboard PayPal checkout UI)

Installation & Build

Install all dependencies (services and client):

pnpm run dependency

This command installs both backend service dependencies (Maven) and frontend dependencies (pnpm).

Build all Spring Boot services:

pnpm run build

Build Docker images for all services:

pnpm run build:docker

This builds all services and creates Docker images using docker-compose.yml.

Run all services (Locally):

pnpm run start

Run services in development mode (with hot reload):

pnpm run dev

Stop all running services:

pnpm run stop

Run tests:

pnpm run test

Individual Service Commands

Each service has its own pom.xml. To work with individual services:

cd services/<service-name>
mvn clean install # Build the service
mvn spring-boot:run # Run the service
mvn test# Run tests

Deployment

Kubernetes

The project includes complete Kubernetes deployment configurations using Kustomize for environment-based overlays (dev, staging, prod).

Quick Deploy:

# Development
./k8s/deploy.sh dev
# Staging
./k8s/deploy.sh staging
# Production
./k8s/deploy.sh prod

See k8s/README.md for comprehensive Kubernetes setup, management commands, and troubleshooting guides.


Development

Frontend

Navigate to the client/ directory for frontend development guidelines.

Backend Services

Each Spring Boot service runs independently and communicates via REST APIs through the API Gateway. Services register themselves with the discovery service for dynamic routing.


License

ISC

About

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Healio

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

A microservices-based platform that leverages AI to streamline healthcare appointments and telemedicine services, connecting patients with doctors through a scalable and modular architecture.

Tech Stack: Spring Boot (Backend Services) | Next.js (Frontend) | pnpm (Package Manager)


Services

All backend services are implemented using Spring Boot microservices architecture.

ServiceDescription
config-serviceCentralized configuration server (Spring Cloud Config) — manages externalized configuration for all microservices
discovery-serviceService Registry (Eureka) — enables dynamic service discovery and registration
gatewayAPI Gateway (Spring Cloud Gateway) — single entry point that routes client requests to the appropriate microservices
auth-serviceAuthentication & authorization service — handles user authentication, JWT tokens, and access control
user-serviceUser management — manages user profiles, roles, and account settings
patient-serviceManages patient profiles, registration, medical history, and patient-related data
doctor-serviceHandles doctor profiles, specializations, availability, and scheduling preferences
appointment-serviceManages booking, cancellation, and tracking of healthcare appointments
telemedicine-serviceEnables virtual consultations, video sessions, and remote care between patients and doctors
notification-serviceSends notifications to users via email, SMS, and in-app alerts
symptom-checker-serviceAI-powered symptom assessment and preliminary diagnosis suggestions

Project Structure

Healio/
├── client/ # Frontend application
├── services/
│ ├── config-service/ # Configuration server (Spring Cloud Config)
│ ├── discovery-service/ # Eureka service registry (Spring Cloud)
│ ├── gateway/ # API Gateway (Spring Cloud Gateway)
│ ├── auth-service/ # Authentication service (Spring Boot)
│ ├── user-service/ # User management service (Spring Boot)
│ ├── patient-service/ # Patient management service (Spring Boot)
│ ├── doctor-service/ # Doctor management service (Spring Boot)
│ ├── appointment-service/ # Appointment management service (Spring Boot)
│ ├── telemedicine-service/ # Telemedicine service (Spring Boot)
│ ├── notification-service/ # Notification service (Spring Boot)
│ └── symptom-checker-service/ # AI-powered symptom checker service (Spring Boot)
├── infra/ # Infrastructure configuration (Docker, K8s, etc.)
├── k8s/ # Kubernetes deployment configurations
│ ├── base/ # Base Kubernetes resources
│ ├── overlays/ # Environment-specific overlays (dev, staging, prod)
│ ├── services/ # Service-specific deployments
│ ├── database/ # Database deployment configs
│ ├── frontend/ # Frontend deployment configs
│ ├── monitoring/ # Monitoring and HPA configs
│ ├── deploy.sh # Deployment automation script
│ ├── kustomization.yaml # Kustomize configuration
│ └── README.md # Kubernetes documentation
├── config/ # Configuration files for services
├── scripts/ # Automation and deployment scripts
├── package.json # Root project configuration
├── pom.xml # Maven parent POM for all services
├── docker-compose.yml # Docker Compose configuration
└── README.md

Getting Started

Prerequisites

  • Java 17+ (for Spring Boot services)
  • Maven 3.8+ (for building services)
  • Node.js 18+ and pnpm (for frontend development and package management)

Environment Setup

Before starting the project, create environment files from the provided samples:

Root environment:

cp sample.env .env

Client environment:

cp client/healio/sample.env.local client/healio/.env.local

Edit these files with your actual configuration values.

PayPal sandbox setup for appointments requires:

  • PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET in root .env (used by appointment-service)
  • NEXT_PUBLIC_PAYPAL_CLIENT_ID in client/healio/.env.local (used by patient dashboard PayPal checkout UI)

Installation & Build

Install all dependencies (services and client):

pnpm run dependency

This command installs both backend service dependencies (Maven) and frontend dependencies (pnpm).

Build all Spring Boot services:

pnpm run build

Build Docker images for all services:

pnpm run build:docker

This builds all services and creates Docker images using docker-compose.yml.

Run all services (Locally):

pnpm run start

Run services in development mode (with hot reload):

pnpm run dev

Stop all running services:

pnpm run stop

Run tests:

pnpm run test

Individual Service Commands

Each service has its own pom.xml. To work with individual services:

cd services/<service-name>
mvn clean install # Build the service
mvn spring-boot:run # Run the service
mvn test# Run tests

Deployment

Kubernetes

The project includes complete Kubernetes deployment configurations using Kustomize for environment-based overlays (dev, staging, prod).

Quick Deploy:

# Development
./k8s/deploy.sh dev
# Staging
./k8s/deploy.sh staging
# Production
./k8s/deploy.sh prod

See k8s/README.md for comprehensive Kubernetes setup, management commands, and troubleshooting guides.


Development

Frontend

Navigate to the client/ directory for frontend development guidelines.

Backend Services

Each Spring Boot service runs independently and communicates via REST APIs through the API Gateway. Services register themselves with the discovery service for dynamic routing.


License

ISC

About

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Healio

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

A microservices-based platform that leverages AI to streamline healthcare appointments and telemedicine services, connecting patients with doctors through a scalable and modular architecture.

Tech Stack: Spring Boot (Backend Services) | Next.js (Frontend) | pnpm (Package Manager)


Services

All backend services are implemented using Spring Boot microservices architecture.

ServiceDescription
config-serviceCentralized configuration server (Spring Cloud Config) — manages externalized configuration for all microservices
discovery-serviceService Registry (Eureka) — enables dynamic service discovery and registration
gatewayAPI Gateway (Spring Cloud Gateway) — single entry point that routes client requests to the appropriate microservices
auth-serviceAuthentication & authorization service — handles user authentication, JWT tokens, and access control
user-serviceUser management — manages user profiles, roles, and account settings
patient-serviceManages patient profiles, registration, medical history, and patient-related data
doctor-serviceHandles doctor profiles, specializations, availability, and scheduling preferences
appointment-serviceManages booking, cancellation, and tracking of healthcare appointments
telemedicine-serviceEnables virtual consultations, video sessions, and remote care between patients and doctors
notification-serviceSends notifications to users via email, SMS, and in-app alerts
symptom-checker-serviceAI-powered symptom assessment and preliminary diagnosis suggestions

Project Structure

Healio/
├── client/ # Frontend application
├── services/
│ ├── config-service/ # Configuration server (Spring Cloud Config)
│ ├── discovery-service/ # Eureka service registry (Spring Cloud)
│ ├── gateway/ # API Gateway (Spring Cloud Gateway)
│ ├── auth-service/ # Authentication service (Spring Boot)
│ ├── user-service/ # User management service (Spring Boot)
│ ├── patient-service/ # Patient management service (Spring Boot)
│ ├── doctor-service/ # Doctor management service (Spring Boot)
│ ├── appointment-service/ # Appointment management service (Spring Boot)
│ ├── telemedicine-service/ # Telemedicine service (Spring Boot)
│ ├── notification-service/ # Notification service (Spring Boot)
│ └── symptom-checker-service/ # AI-powered symptom checker service (Spring Boot)
├── infra/ # Infrastructure configuration (Docker, K8s, etc.)
├── k8s/ # Kubernetes deployment configurations
│ ├── base/ # Base Kubernetes resources
│ ├── overlays/ # Environment-specific overlays (dev, staging, prod)
│ ├── services/ # Service-specific deployments
│ ├── database/ # Database deployment configs
│ ├── frontend/ # Frontend deployment configs
│ ├── monitoring/ # Monitoring and HPA configs
│ ├── deploy.sh # Deployment automation script
│ ├── kustomization.yaml # Kustomize configuration
│ └── README.md # Kubernetes documentation
├── config/ # Configuration files for services
├── scripts/ # Automation and deployment scripts
├── package.json # Root project configuration
├── pom.xml # Maven parent POM for all services
├── docker-compose.yml # Docker Compose configuration
└── README.md

Getting Started

Prerequisites

  • Java 17+ (for Spring Boot services)
  • Maven 3.8+ (for building services)
  • Node.js 18+ and pnpm (for frontend development and package management)

Environment Setup

Before starting the project, create environment files from the provided samples:

Root environment:

cp sample.env .env

Client environment:

cp client/healio/sample.env.local client/healio/.env.local

Edit these files with your actual configuration values.

PayPal sandbox setup for appointments requires:

  • PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET in root .env (used by appointment-service)
  • NEXT_PUBLIC_PAYPAL_CLIENT_ID in client/healio/.env.local (used by patient dashboard PayPal checkout UI)

Installation & Build

Install all dependencies (services and client):

pnpm run dependency

This command installs both backend service dependencies (Maven) and frontend dependencies (pnpm).

Build all Spring Boot services:

pnpm run build

Build Docker images for all services:

pnpm run build:docker

This builds all services and creates Docker images using docker-compose.yml.

Run all services (Locally):

pnpm run start

Run services in development mode (with hot reload):

pnpm run dev

Stop all running services:

pnpm run stop

Run tests:

pnpm run test

Individual Service Commands

Each service has its own pom.xml. To work with individual services:

cd services/<service-name>
mvn clean install # Build the service
mvn spring-boot:run # Run the service
mvn test# Run tests

Deployment

Kubernetes

The project includes complete Kubernetes deployment configurations using Kustomize for environment-based overlays (dev, staging, prod).

Quick Deploy:

# Development
./k8s/deploy.sh dev
# Staging
./k8s/deploy.sh staging
# Production
./k8s/deploy.sh prod

See k8s/README.md for comprehensive Kubernetes setup, management commands, and troubleshooting guides.


Development

Frontend

Navigate to the client/ directory for frontend development guidelines.

Backend Services

Each Spring Boot service runs independently and communicates via REST APIs through the API Gateway. Services register themselves with the discovery service for dynamic routing.


License

ISC

About

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Healio

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

A microservices-based platform that leverages AI to streamline healthcare appointments and telemedicine services, connecting patients with doctors through a scalable and modular architecture.

Tech Stack: Spring Boot (Backend Services) | Next.js (Frontend) | pnpm (Package Manager)


Services

All backend services are implemented using Spring Boot microservices architecture.

ServiceDescription
config-serviceCentralized configuration server (Spring Cloud Config) — manages externalized configuration for all microservices
discovery-serviceService Registry (Eureka) — enables dynamic service discovery and registration
gatewayAPI Gateway (Spring Cloud Gateway) — single entry point that routes client requests to the appropriate microservices
auth-serviceAuthentication & authorization service — handles user authentication, JWT tokens, and access control
user-serviceUser management — manages user profiles, roles, and account settings
patient-serviceManages patient profiles, registration, medical history, and patient-related data
doctor-serviceHandles doctor profiles, specializations, availability, and scheduling preferences
appointment-serviceManages booking, cancellation, and tracking of healthcare appointments
telemedicine-serviceEnables virtual consultations, video sessions, and remote care between patients and doctors
notification-serviceSends notifications to users via email, SMS, and in-app alerts
symptom-checker-serviceAI-powered symptom assessment and preliminary diagnosis suggestions

Project Structure

Healio/
├── client/ # Frontend application
├── services/
│ ├── config-service/ # Configuration server (Spring Cloud Config)
│ ├── discovery-service/ # Eureka service registry (Spring Cloud)
│ ├── gateway/ # API Gateway (Spring Cloud Gateway)
│ ├── auth-service/ # Authentication service (Spring Boot)
│ ├── user-service/ # User management service (Spring Boot)
│ ├── patient-service/ # Patient management service (Spring Boot)
│ ├── doctor-service/ # Doctor management service (Spring Boot)
│ ├── appointment-service/ # Appointment management service (Spring Boot)
│ ├── telemedicine-service/ # Telemedicine service (Spring Boot)
│ ├── notification-service/ # Notification service (Spring Boot)
│ └── symptom-checker-service/ # AI-powered symptom checker service (Spring Boot)
├── infra/ # Infrastructure configuration (Docker, K8s, etc.)
├── k8s/ # Kubernetes deployment configurations
│ ├── base/ # Base Kubernetes resources
│ ├── overlays/ # Environment-specific overlays (dev, staging, prod)
│ ├── services/ # Service-specific deployments
│ ├── database/ # Database deployment configs
│ ├── frontend/ # Frontend deployment configs
│ ├── monitoring/ # Monitoring and HPA configs
│ ├── deploy.sh # Deployment automation script
│ ├── kustomization.yaml # Kustomize configuration
│ └── README.md # Kubernetes documentation
├── config/ # Configuration files for services
├── scripts/ # Automation and deployment scripts
├── package.json # Root project configuration
├── pom.xml # Maven parent POM for all services
├── docker-compose.yml # Docker Compose configuration
└── README.md

Getting Started

Prerequisites

  • Java 17+ (for Spring Boot services)
  • Maven 3.8+ (for building services)
  • Node.js 18+ and pnpm (for frontend development and package management)

Environment Setup

Before starting the project, create environment files from the provided samples:

Root environment:

cp sample.env .env

Client environment:

cp client/healio/sample.env.local client/healio/.env.local

Edit these files with your actual configuration values.

PayPal sandbox setup for appointments requires:

  • PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET in root .env (used by appointment-service)
  • NEXT_PUBLIC_PAYPAL_CLIENT_ID in client/healio/.env.local (used by patient dashboard PayPal checkout UI)

Installation & Build

Install all dependencies (services and client):

pnpm run dependency

This command installs both backend service dependencies (Maven) and frontend dependencies (pnpm).

Build all Spring Boot services:

pnpm run build

Build Docker images for all services:

pnpm run build:docker

This builds all services and creates Docker images using docker-compose.yml.

Run all services (Locally):

pnpm run start

Run services in development mode (with hot reload):

pnpm run dev

Stop all running services:

pnpm run stop

Run tests:

pnpm run test

Individual Service Commands

Each service has its own pom.xml. To work with individual services:

cd services/<service-name>
mvn clean install # Build the service
mvn spring-boot:run # Run the service
mvn test# Run tests

Deployment

Kubernetes

The project includes complete Kubernetes deployment configurations using Kustomize for environment-based overlays (dev, staging, prod).

Quick Deploy:

# Development
./k8s/deploy.sh dev
# Staging
./k8s/deploy.sh staging
# Production
./k8s/deploy.sh prod

See k8s/README.md for comprehensive Kubernetes setup, management commands, and troubleshooting guides.


Development

Frontend

Navigate to the client/ directory for frontend development guidelines.

Backend Services

Each Spring Boot service runs independently and communicates via REST APIs through the API Gateway. Services register themselves with the discovery service for dynamic routing.


License

ISC

About

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Healio

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

A microservices-based platform that leverages AI to streamline healthcare appointments and telemedicine services, connecting patients with doctors through a scalable and modular architecture.

Tech Stack: Spring Boot (Backend Services) | Next.js (Frontend) | pnpm (Package Manager)


Services

All backend services are implemented using Spring Boot microservices architecture.

ServiceDescription
config-serviceCentralized configuration server (Spring Cloud Config) — manages externalized configuration for all microservices
discovery-serviceService Registry (Eureka) — enables dynamic service discovery and registration
gatewayAPI Gateway (Spring Cloud Gateway) — single entry point that routes client requests to the appropriate microservices
auth-serviceAuthentication & authorization service — handles user authentication, JWT tokens, and access control
user-serviceUser management — manages user profiles, roles, and account settings
patient-serviceManages patient profiles, registration, medical history, and patient-related data
doctor-serviceHandles doctor profiles, specializations, availability, and scheduling preferences
appointment-serviceManages booking, cancellation, and tracking of healthcare appointments
telemedicine-serviceEnables virtual consultations, video sessions, and remote care between patients and doctors
notification-serviceSends notifications to users via email, SMS, and in-app alerts
symptom-checker-serviceAI-powered symptom assessment and preliminary diagnosis suggestions

Project Structure

Healio/
├── client/ # Frontend application
├── services/
│ ├── config-service/ # Configuration server (Spring Cloud Config)
│ ├── discovery-service/ # Eureka service registry (Spring Cloud)
│ ├── gateway/ # API Gateway (Spring Cloud Gateway)
│ ├── auth-service/ # Authentication service (Spring Boot)
│ ├── user-service/ # User management service (Spring Boot)
│ ├── patient-service/ # Patient management service (Spring Boot)
│ ├── doctor-service/ # Doctor management service (Spring Boot)
│ ├── appointment-service/ # Appointment management service (Spring Boot)
│ ├── telemedicine-service/ # Telemedicine service (Spring Boot)
│ ├── notification-service/ # Notification service (Spring Boot)
│ └── symptom-checker-service/ # AI-powered symptom checker service (Spring Boot)
├── infra/ # Infrastructure configuration (Docker, K8s, etc.)
├── k8s/ # Kubernetes deployment configurations
│ ├── base/ # Base Kubernetes resources
│ ├── overlays/ # Environment-specific overlays (dev, staging, prod)
│ ├── services/ # Service-specific deployments
│ ├── database/ # Database deployment configs
│ ├── frontend/ # Frontend deployment configs
│ ├── monitoring/ # Monitoring and HPA configs
│ ├── deploy.sh # Deployment automation script
│ ├── kustomization.yaml # Kustomize configuration
│ └── README.md # Kubernetes documentation
├── config/ # Configuration files for services
├── scripts/ # Automation and deployment scripts
├── package.json # Root project configuration
├── pom.xml # Maven parent POM for all services
├── docker-compose.yml # Docker Compose configuration
└── README.md

Getting Started

Prerequisites

  • Java 17+ (for Spring Boot services)
  • Maven 3.8+ (for building services)
  • Node.js 18+ and pnpm (for frontend development and package management)

Environment Setup

Before starting the project, create environment files from the provided samples:

Root environment:

cp sample.env .env

Client environment:

cp client/healio/sample.env.local client/healio/.env.local

Edit these files with your actual configuration values.

PayPal sandbox setup for appointments requires:

  • PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET in root .env (used by appointment-service)
  • NEXT_PUBLIC_PAYPAL_CLIENT_ID in client/healio/.env.local (used by patient dashboard PayPal checkout UI)

Installation & Build

Install all dependencies (services and client):

pnpm run dependency

This command installs both backend service dependencies (Maven) and frontend dependencies (pnpm).

Build all Spring Boot services:

pnpm run build

Build Docker images for all services:

pnpm run build:docker

This builds all services and creates Docker images using docker-compose.yml.

Run all services (Locally):

pnpm run start

Run services in development mode (with hot reload):

pnpm run dev

Stop all running services:

pnpm run stop

Run tests:

pnpm run test

Individual Service Commands

Each service has its own pom.xml. To work with individual services:

cd services/<service-name>
mvn clean install # Build the service
mvn spring-boot:run # Run the service
mvn test# Run tests

Deployment

Kubernetes

The project includes complete Kubernetes deployment configurations using Kustomize for environment-based overlays (dev, staging, prod).

Quick Deploy:

# Development
./k8s/deploy.sh dev
# Staging
./k8s/deploy.sh staging
# Production
./k8s/deploy.sh prod

See k8s/README.md for comprehensive Kubernetes setup, management commands, and troubleshooting guides.


Development

Frontend

Navigate to the client/ directory for frontend development guidelines.

Backend Services

Each Spring Boot service runs independently and communicates via REST APIs through the API Gateway. Services register themselves with the discovery service for dynamic routing.


License

ISC

About

AI-Enabled Smart Healthcare Appointment & Telemedicine Platform

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages