Secure pet health records, medication reminders, QR scanning, and emergency SOS — powered by blockchain.
Cocohub is a full-stack mobile and web application for pet owners to securely manage their pets' medical records, medication schedules, vet appointments, and emergency contacts. Built with React Native and Expo, backed by a Node.js/PostgreSQL API, and anchored to the Stellar blockchain for tamper-proof record verification.
Cocohub is an open-source project with paid bounties. We pay contributors in XLM (Stellar Lumens) via GrantFox smart escrow for bug fixes, features, tests, translations, and docs.
| Bounty Size | Reward | Examples |
|---|---|---|
| 🟢 Small | 5–15 XLM | Bug fixes, docs, UI polish |
| 🟡 Medium | 20–50 XLM | New features, translations, test suites |
| 🔴 Large | 75–150 XLM | Soroban contracts, AI features, wearables |
👉 View all open bounties → 👉 How to contribute & get paid →
| URL | |
|---|---|
| Marketing site | https://cocohub.app |
| Web app | https://app.cocohub.app |
| iOS App Store | https://apps.apple.com/app/cocohub/id000000000 |
| Google Play | https://play.google.com/store/apps/details?id=app.cocohub.mobile |
| Support | support@cocohub.app |
| Feature | Description |
|---|---|
| 🔒 Blockchain Records | Medical history anchored on Stellar — tamper-proof and verifiable by any vet |
| 💊 Medication Reminders | Smart daily/weekly schedules with dose logging, refill tracking, and drug interaction detection |
| 📅 Appointment Management | Book vet visits, detect conflicts, reschedule, sync to device calendar |
| 🚨 Emergency SOS | One-tap alert to emergency contacts with live GPS location |
| 📊 Health Dashboard | Health score, weight trends, vitals chart, AI predictive alerts |
| 📱 QR Scanner | Instant pet identification and blockchain-verified record sharing |
| 🗺️ Vet Finder | Nearby vet clinics on a live map with availability slots |
| 👥 Multi-Pet | Manage unlimited pets with per-pet settings (Premium) |
| 🌐 Offline-First | Full functionality without internet — syncs when back online |
| 🔐 Privacy-First | AES-256 encryption, biometric login, GDPR compliant |
| 🌍 Multi-Language | English and Spanish, with RTL support |
| 🩺 Telemedicine | Video consultations via WebRTC |
| 👥 Community | Forum, Lost & Found network, adoption matching |
| ⛓️ Trustlines | Stellar trustlines for PETC, VETH, and PawPoints tokens |
| Layer | Technology |
|---|---|
| Mobile/Web Framework | React Native 0.85 + Expo SDK 56 |
| Language | TypeScript 5 |
| Navigation | React Navigation v6 (native stack + bottom tabs) |
| State | React Context + SQLite (offline) |
| Backend | Node.js 18, Express 5, PostgreSQL 15, Redis 7 |
| Blockchain | Stellar SDK, Soroban smart contracts |
| Local DB | expo-sqlite (AES-256 encrypted) |
| Auth | JWT, refresh tokens, OAuth (Google/Apple/Facebook), biometrics |
| Push | Expo Notifications (APNs & FCM) |
| Maps | react-native-maps + OpenStreetMap tiles |
| Video | react-native-webrtc (WebRTC telemedicine) |
| Error Tracking | Sentry |
| CI/CD | GitHub Actions (lint, test, build, deploy) |
| Testing | Jest, Vitest, React Native Testing Library, Detox, Maestro |
| Website | Next.js 16 + React 19 |
cocohub/
├── src/ # React Native app
│ ├── navigation/ # AppNavigator, CareNavigator, MoreScreen
│ ├── screens/ # 75+ screens
│ ├── components/ # 60+ shared components
│ ├── services/ # 85+ API + business logic services
│ ├── context/ # Auth, Pet, Theme, Toast providers
│ ├── theme/ # Colors, tokens, dark/light mode
│ ├── hooks/ # Custom hooks
│ ├── utils/ # Encryption, validators, animations
│ └── __web_stubs__/ # Web-safe stubs for native modules
├── backend/ # Node.js API
│ ├── server/ # Express app + routes
│ ├── src/ # Services, models, middleware
│ ├── migrations/ # PostgreSQL migrations
│ └── seeds/ # Development seed data
├── website/ # Next.js marketing site
│ └── src/app/ # Landing page, Privacy, Terms
├── assets/ # App icons, splash screen
├── legal/ # Privacy Policy, Terms of Service
├── storelisting/ # App Store + Google Play metadata
├── App.tsx # Native entry point
├── App.web.tsx # Web entry point
├── metro.config.js # Metro bundler config
└── docker-compose.yml # PostgreSQL + Redis + backend
- Node.js ≥ 18
- Docker Desktop (for backend)
- Expo Go on your phone (for mobile testing)
git clone https://github.com/DogStark/Cocohub-MobileApp.git
cd Cocohub-MobileApp
npm install --legacy-peer-depsnpx expo start --webOpen http://localhost:8081 in your browser.
npx expo startScan the QR code with Expo Go on iOS or Android. Phone and PC must be on the same Wi-Fi.
# Start PostgreSQL + Redis + API
docker-compose up
# In a new terminal — run migrations and seed test data
npm run migrate
npm run seed:devTest credentials after seeding:
Email: owner1@example.com
Password: Password123!
The website/ folder contains the Next.js marketing site.
cd website
npm install
npm run dev # http://localhost:3001Pages:
/— Landing page (hero, features, download CTAs)/privacy— Privacy Policy/terms— Terms of Service
Environment:
# website/.env.local
NEXT_PUBLIC_APP_URL=http://localhost:8081 # local
# NEXT_PUBLIC_APP_URL=https://app.cocohub.app # productionDeploy to Vercel:
cd website
npx vercel --prod- Install Expo Go from App Store or Play Store
- Run
npx expo start - Scan the QR code
npm install -g eas-cli
eas login
eas build --platform android --profile previewEAS builds it in the cloud and gives you a direct APK download link — no Play Store needed.
eas build --platform ios --profile previewRequires an Apple Developer account.
npm run seed:dev # 5 owners, 10 pets, records, appointments, medications
npm run seed:test # Minimal — 2 owners, 1 vet, 1 pet
npm run seed:large # 20 owners, 30 pets, large datasetSeed data flags:
| Flag | Default | Description |
|---|---|---|
--owners |
5 | Number of pet owner accounts |
--vets |
3 | Number of vet accounts |
--pets |
2 | Pets per owner |
--records |
3 | Medical records per pet |
--appointments |
2 | Appointments per pet |
--medications |
1 | Medications per pet |
npm test # Unit tests (Jest)
npm run test:ci # CI mode with coverage
npm run typecheck # TypeScript check
npm run lint # ESLint
npm run e2e:test # Maestro E2E smoke test (requires device)Cocohub uses a dual-layer verification approach:
- Storage layer — Medical records are stored encrypted on the Cocohub backend
- Verification layer — A SHA-256 hash of each record is anchored on the Stellar blockchain via
manageDataoperations
No personal data is ever written to the blockchain — only hashes.
Stellar assets:
| Asset | Description |
|---|---|
PETC |
Cocohub utility token |
VETH |
Vet Health Credits (redeemable for services) |
PAWP |
PawPoints loyalty rewards |
Future: Soroban smart contract for on-chain pet record registry with vet access control.
Assets and metadata are ready in:
storelisting/— App Store + Google Play descriptions, keywords, release noteslegal/— Privacy Policy and Terms of Serviceassets/— Icons and splash screen
See storelisting/README.md for the submission checklist.
- All local data encrypted with AES-256-GCM via
expo-sqlite - Auth tokens stored in device Keychain (iOS) / SecureStore (Android)
- HMAC-SHA256 request signing on all API calls
- SSL pinning for production API endpoints
- Biometric re-authentication on foreground
- Screen capture prevention on sensitive screens
- Circuit breaker + exponential backoff on all network calls
- Rate limiting and Helmet security headers on the backend
See CONTRIBUTING.md for the development workflow, branch naming, and PR guidelines.
Cocohub is not a substitute for professional veterinary care. Always consult a licensed veterinarian for medical advice.
| Channel | Link |
|---|---|
| Issues | https://github.com/DogStark/Cocohub-MobileApp/issues |
| support@cocohub.app | |
| @cocohubapp | |
| Website | https://cocohub.app |
MIT — see LICENSE for details.
Built with ❤️ for pet lovers everywhere · Powered by Stellar