Skip to content

thuver104/CareLine360-WebApp-DistributedSystems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

183 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CareLine360 Deployment Guide (SE3020 Assignment 1)

Architecture mode: Microservices only (monolith removed).

1. Prerequisites
- Node.js 18+
- npm 9+
- Docker Desktop
- Kubernetes cluster (optional: minikube / Docker Desktop K8s)

2. Clone and install frontend
- git clone https://github.com/thuver104/CareLine360-WebApp-DistributedSystems.git
- cd client
- npm install

3. Configure environment variables
- Create server/.env for shared runtime values used by containers:
  JWT_ACCESS_SECRET, JWT_REFRESH_SECRET, CLIENT_URL,
  SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, EMAIL_FROM,
  SMSLENZ_USER_ID, SMSLENZ_API_KEY, SMSLENZ_SENDER_ID,
  PAYHERE_MERCHANT_ID, PAYHERE_MERCHANT_SECRET,
  JITSI_DOMAIN, JITSI_PREFIX

- Create client/.env:
  VITE_API_URL
  VITE_SOCKET_URL (optional; keep empty unless a socket backend is running)

4. Build microservice images
- docker build -t careline360/auth-service:latest -f server/services/auth-service/Dockerfile server/services
- docker build -t careline360/patient-service:latest server/services/patient-service
- docker build -t careline360/doctor-service:latest server/services/doctor-service
- docker build -t careline360/appointment-service:latest server/services/appointment-service
- docker build -t careline360/admin-service:latest server/services/admin-service
- docker build -t careline360/emergency-service:latest server/services/emergency-service
- docker build -t careline360/api-gateway:latest server/services/api-gateway

5. Run services locally (Docker)
- Easiest way (recommended):
  powershell -ExecutionPolicy Bypass -File scripts/start-containers.ps1
- Stop all app containers:
  powershell -ExecutionPolicy Bypass -File scripts/stop-containers.ps1

Manual alternative:
- Create network:
  docker network create careline-net
- Start infra:
  docker run -d --name careline-mongo --network careline-net -p 27017:27017 mongo:7
  docker run -d --name careline-rabbit --network careline-net -p 5672:5672 -p 15672:15672 rabbitmq:3-management
- Start service containers with --env-file server/.env and service-specific PORT/MONGO_URI.

6. Service endpoints
- api-gateway:        http://localhost:1111/health
- auth-service:        http://localhost:3001/health
- patient-service:     http://localhost:5002/health/ready
- doctor-service:      http://localhost:5003/health
- appointment-service: http://localhost:5004/health
- admin-service:       http://localhost:5005/health
- emergency-service:   http://localhost:5006/health

7. Frontend run
- cd client
- npm run dev



9. Verify deployment
- kubectl get pods -n careline360
- kubectl get svc -n careline360
- kubectl get ingress -n careline360

10. Submission packaging
- Include: source code, submission.txt, readme.txt, members.txt, report.pdf
- Zip name format: GroupID_DS-Assignment.zip

















--- No need to run8. Kubernetes deployment
- kubectl apply -f k8s/base/namespace.yaml
- kubectl apply -f k8s/base/configmap/app-config.yaml
- kubectl apply -f k8s/base/secrets/app-secrets.example.yaml
- kubectl apply -f k8s/base/services/
- kubectl apply -f k8s/base/ingress/

About

Health helpline - A web application for remote consultation & emergency help in remote regions.

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages