A family-oriented healthcare data platform.
Full documentation is available on this page.
The project brings together in a single ecosystem:
- healthcare document management,
- appointment booking,
- delegation between family members/caregivers,
- AI-powered document analysis.
Nucleo is a multi-stack monorepo that combines backend services, frontend application, and shared infrastructure in a single codebase.
The following table summarizes the main services, their technology stack, and their location in the repository.
| Service | Stack | Directory |
|---|---|---|
| Frontend | Vue 3 + Vite + TypeScript | frontend-service/ |
| Users | Node.js + Express + MongoDB | users-service/ |
| Master Data | Node.js + Express + MongoDB | master-data-service/ |
| Appointments | Kotlin + Ktor + PostgreSQL | appointments-service/ |
| Documents | Kotlin + Ktor + MongoDB + MinIO | documents-service/ |
| AI Service | Python + FastAPI | ai-service/ |
| Component | Directory |
|---|---|
| NGINX | infrastructure/nginx/ |
| Kafka | infrastructure/kafka |
- Docker
- Node.js
- pnpm 10.x
- JDK 22
- Python >= 3.13
Kubernetes commands also require:
- minikube
- kubectl
- helm
Full deploy:
bash ./scripts/deploy.shUndeploy while keeping volumes:
bash ./scripts/undeploy.shUndeploy with full volume cleanup:
bash ./scripts/undeploy.sh --purge-pvAfter deployment, expose the gateway with:
kubectl -n default port-forward service/gateway-api-controller-traefik 3000:80From the repository root:
bash ./start-all-services.shThe script:
- automatically creates/updates service
.envfiles, - starts all
docker-compose.ymlfiles in sequence.
When complete, the frontend is available at:
http://localhost:3000
Important note:
- set
GROQ_API_KEYindocuments-service/.env. - without a valid API key, the AI/document workflow will not work correctly.
bash ./stop-all-services.shpnpm installcd frontend-service
pnpm devpnpm dev:users
pnpm dev:master-data./gradlew :appointments-service:run
./gradlew :documents-service:runOption with uv (recommended, using ai-service/justfile):
cd ai-service
uv sync
uv run main.pyClassic venv option:
cd ai-service
python -m venv .venv
source .venv/bin/activate
pip install -e .
python src/main.pyFrom root:
pnpm lint
pnpm lint:fix
pnpm format:check
pnpm format
pnpm test:coverageFor Kotlin modules:
./gradlew testVitePress docs:
pnpm docs:dev
pnpm docs:build
pnpm docs:previewNucleo/
|- users-service/
|- master-data-service/
|- appointments-service/
|- documents-service/
|- ai-service/
|- frontend-service/
|- infrastructure/
| |- kafka/
| |- nginx/
|- kubernetes/
|- docs/
|- scripts/
- The repository includes bash scripts for full orchestration; on Windows, Git Bash or WSL is recommended.
.envvariables are maintained by the script without overwriting existing values.- Multi-service release automation is available through scripts in
scripts/and config inrelease/.