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