Skip to content

oussssaman/PatientManagementSystem_k

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏥 Patient Management System 2.0: Cloud-Native Evolution

GitHub Actions

Kubernetes

Docker

Now with Production-Grade Kubernetes Orchestration & CI/CD Automation!


🚀 Key Enhancements (New!)

  • Kubernetes Cluster Deployment with k3s
  • GitHub Actions CI/CD Pipeline with automated testing
  • Kubernetes Dashboard integration with RBAC
  • Infrastructure as Code via comprehensive Makefile
  • Advanced Monitoring of cluster resources
  • Production-Ready service mesh architecture

🛠️ Tech Stack Supercharged

Core Services
Spring Boot | gRPC | Kafka | PostgreSQL | Spring Security

Cloud Native
Kubernetes (k3s) | Docker | GitHub Actions

Observability
Kubernetes Dashboard


🌐 System Architecture

Architecture Diagram


🚦 Getting Started

📋 Prerequisites

  • Docker 20.10+
  • kubectl 1.28+
  • k3d 5.6.0+

🛠️ Installation

# Clone repository
git clone git@github.com:Abdellahbounab/PatientManagementSystem.git
cd PatientManagementSystem

# Spin up cluster (Automatic in CI/CD)
make install && make build && make deploy

# Verify deployment
make status

🔍 Testing the System

# Run integration tests
make test

# Access services
API Gateway: http://localhost:4004
Dashboard: http://localhost:30443
Token of Dashboard: in k3s/dashboard/token.txt

🔄 CI/CD Pipeline

Automated Workflow Includes:

  1. Cluster provisioning with k3d
  2. Docker image builds
  3. Kubernetes deployment validation
  4. Integration testing
  5. Real-time status monitoring
graph LR
A[Code Push] --> B[Cluster Setup]
B --> C[Build Images]
C --> D[Deploy to k3s]
D --> E[Run Tests]
E --> F[Report Status]
Loading

📊 Monitoring & Operations

Key Makefile Commands:

make watch      # Real-time pod monitoring
make logs       # Aggregate service logs
make restart    # Zero-downtime deployments
make lint       # Validate Kubernetes manifests

🤝 Contribution Guidelines

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 78.1%
  • Makefile 18.0%
  • Dockerfile 3.9%