A comprehensive family management application built with modern web technologies and Firebase backend. Stay connected with your loved ones through health tracking, messaging, and family coordination.
- π¨βπ©βπ§βπ¦ Family Management - Create and manage family groups with invite codes
- π₯ Health Tracking - Monitor health metrics and appointments
- π Medicine Management - Track medications and schedules
- π± Multi-Platform - Web and native Android support via Capacitor
- π Secure Authentication - Firebase Auth with role-based access
- π¬ Real-time Updates - Firestore for instant data synchronization
- π― AI Insights - Gemini-powered recommendations and suggestions
- π³ Payment Processing - Stripe integration for premium features
- Frontend: React 19, TanStack Start/Router, TypeScript, Tailwind CSS
- Backend: Firebase (Auth, Firestore, Storage, FCM)
- Mobile: Capacitor 7 (iOS & Android support)
- Testing: Playwright E2E tests
- Build: Vite with TypeScript
- Payments: Stripe
- AI: Google Gemini
- Node.js 18+ or Bun
- npm or yarn
# Install dependencies
npm install
# Copy environment configuration
cp .env.example .env
# Edit .env with your Firebase and Stripe credentials
# Start development server
npm run devVisit http://localhost:5173 to see the app.
npm run seed:test-usersTest accounts:
- Parent:
parent@test.myfamily.app/Test1234! - Family Member:
family@test.myfamily.app/Test1234!
myfamily/
βββ src/
β βββ components/ # React components
β β βββ mobile/ # Mobile-specific UI
β β βββ ui/ # Reusable UI components
β βββ routes/ # TanStack Router pages
β βββ lib/ # Utilities & business logic
β β βββ queries/ # React Query hooks
β β βββ firebase/ # Firebase integration
β βββ integrations/ # External service integrations
β βββ styles.css # Tailwind styles
βββ tests/ # E2E and unit tests
βββ public/ # Static assets
βββ firebase.json # Firebase config
βββ firestore.rules # Firestore security rules
βββ package.json # Dependencies
Create a .env file based on .env.example:
cp .env.example .envThen fill in your actual API keys. Never commit the .env file - it's in .gitignore for security.
# Firebase
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
# Stripe
VITE_STRIPE_PUBLISHABLE_KEY=your_stripe_key
# Firebase Admin (for backend)
FIREBASE_ADMIN_SDK_KEY=your_admin_key
# Google Gemini AI
VITE_GEMINI_API_KEY=your_gemini_api_key# Development
npm run dev # Start dev server
# Building
npm run build # Build for production
npm run build:web # Build web version
npm run build:app # Build mobile app
# Testing
npm run test:e2e # Run Playwright E2E tests
npm run lint # Run ESLint
npm run format # Format code with Prettier
# Mobile
npm run cap:sync # Sync Capacitor plugins
npm run cap:android # Open Android Studio
# Utilities
npm run seed:test-users # Seed test data
npm run preview # Preview production build/auth- Login/Registration/forgot-password- Password recovery/reset-password- Password reset/onboarding- Role selection & profile setup/onboarding/profile- Complete user profile/onboarding/family- Create or join family
profiles/{userId}- User profile datafamilies/{familyId}- Family informationfamilies/{familyId}/family_members/{userId}- Family membershipfamilies/{familyId}/user_roles/{userId}- Role assignments- Various data collections (health, appointments, medicines, etc.)
Rules are defined in firestore.rules and storage.rules. Deploy with:
firebase deploy --only firestore:rules,storageCustom indexes are in firestore.indexes.json.
npm install
npm run build:app
npm run cap:sync
npm run cap:androidThen build APK from Android Studio.
npm run cap:sync
npm run cap:open iosnpm run test:e2eTests are located in tests/ directory.
Deploy to Firebase Hosting, Vercel, Netlify, or any static host.
Build release APK in Android Studio and publish to Google Play Store.
- Create a feature branch
- Make your changes
- Run
npm run formatto format code - Run
npm run lintto check for errors - Commit and push
- Create a Pull Request
Private repository - All rights reserved
For issues and questions, please check existing GitHub issues or create a new one.
- Security Guide - π How to handle API keys and secrets safely
- Implementation Summary
- Onboarding Implementation
- Deployment Guide