Skip to content

Kiereii/Carehaven

 
 

Repository files navigation

CareHaven

CareHaven is a caregiver platform for seniors in Singapore. It connects caregivers with their elderly care recipients through a mobile app, enabling task management, health monitoring, SOS alerts, and real-time updates.

This is the CareHaven monorepo — all project components live in one Git repository.

Components

Directory Tech Purpose
caregiver-app Flutter + Kotlin Mobile app for caregivers and seniors
microservices C# / .NET 10 Backend: 5 .NET microservices + API Gateway
microservices/generativeAI-service Go AI inference service (health summaries, anomaly detection)
microservices/telegram-bot Go Telegram bot for SOS alert notifications
grpc-protobuffers Protobuf Shared gRPC service definitions
code-style-guide Markdown Coding standards (C#, Dart, Python, Go, Kotlin, Protobuf)
test-suite Python Integration tests and stress/load tests
algorithms Python Research prototypes (geofencing, anomaly detection, health scoring)
docs Markdown Documentation and API specs
i18n JSON Localization files for multiple languages
cloud-native-paper LaTeX Cloud-native architecture research paper
haven-cli Go Project CLI tool for setup, build, and deployment

Prerequisites

Required:

Optional (per feature):

  • protoc-gen-go / protoc-gen-go-grpc — Go stubs for the Telegram bot
  • Firebase CLIhaven deploy deeplink
  • cloudflared — tunnel for Telegram bot webhook
  • Locusthaven stress
  • ghzhaven bench

Getting Started

# Clone the monorepo
git clone <carehaven-repo-url> CareHaven
cd CareHaven

# Set up the haven CLI
source haven-cli/setup.sh

# Full project setup (config, protos, Docker, deps)
haven setup

# Start the backend and run the app
haven start
haven run

To make haven available in every terminal session, add to ~/.zshrc or ~/.bashrc:

source /path/to/CareHaven/haven-cli/setup.sh

Commands

All project operations go through the haven CLI. See haven-cli/README.md for the full reference.

Command Description
haven start Start all backend services (Docker)
haven stop Stop all backend services
haven restart Restart all backend services
haven status Show service URLs and health
haven logs [service] View service logs
haven run [device] Run the Flutter app (auto-detects IP)
haven apk [debug|release] Build an Android APK
haven proto Generate protobuf stubs (Dart, Python, Go)
haven clean Remove containers, volumes, build artifacts, TLS certs

Physical Device Testing

haven start     # Start backend (auto-detects your IP)
haven apk       # Build release APK with your IP baked in
adb install caregiver-app/build/app/outputs/flutter-apk/app-release.apk

The phone must be on the same Wi-Fi network as your computer.

Service URLs

Service REST / UI gRPC
API Gateway http://localhost:8090 localhost:8092
Firebase Emulator UI http://localhost:4000
Swagger http://localhost:8090/swagger
Grafana Dashboards http://localhost:3000

Updating the Repository

# Pull the latest monorepo changes
git pull

Team

University of Glasgow — CS 2025 — Team N2

About

CareHaven is a healthcare monorepo for caregiver support, safety monitoring, and health insights across mobile, backend, and shared platform services.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Dart 34.4%
  • C# 24.3%
  • Python 23.5%
  • Go 10.3%
  • Kotlin 5.2%
  • HTML 0.8%
  • Other 1.5%