A comprehensive AI-powered mobile health application for managing prescriptions, medications, and health monitoring.
- Email/Password login and registration
- Google Sign-In (Android)
- Apple Sign-In (iOS)
- Biometric authentication (Face ID/Touch ID)
- Secure token-based authentication
- Upload prescription images from gallery
- Capture prescriptions using camera
- AI-powered OCR to extract medication details
- Automatic data extraction and validation
- Google Calendar integration (Android)
- Apple Calendar integration (iOS)
- Customizable notification schedules
- Medication tracking (Taken/Missed/Skipped)
- Prescription and medication history
- Health data tracking
- Progress monitoring
- Cloud backup and sync
- Search medications by name
- Search by health conditions/symptoms
- AI-powered medication suggestions
- Related prescription recommendations
- Medicine availability checking
- Direct links to pharmacy apps
- Price comparison features
- React Native with Expo
- TypeScript for type safety
- Redux Toolkit for state management
- React Navigation for navigation
- React Native Elements for UI components
- Firebase (Authentication, Firestore, Cloud Functions)
- Google Cloud Vision API for OCR
- Google Calendar API for calendar integration
- Apple HealthKit for iOS health data
- Google ML Kit for on-device text recognition
- Azure Computer Vision for advanced OCR
- OpenAI GPT for medication suggestions
- Firebase Cloud Messaging for push notifications
- React Native Local Notifications for local alerts
Before running this project, ensure you have:
- Node.js (v16 or higher) - Download here
- Expo CLI - Install globally:
npm install -g @expo/cli - Android Studio (for Android development)
- Xcode (for iOS development, macOS only)
- Expo Go app on your mobile device for testing
# Install Node.js first, then:
npm install -g @expo/clinpx create-expo-app@latest medical-health-app --template blank-typescript
cd medical-health-appnpm install @reduxjs/toolkit react-redux
npm install @react-navigation/native @react-navigation/stack @react-navigation/bottom-tabs
npm install react-native-elements react-native-vector-icons
npm install expo-camera expo-image-picker expo-file-system
npm install expo-local-notifications expo-notifications
npm install expo-secure-store expo-crypto
npm install @react-native-async-storage/async-storage
npm install expo-calendar expo-contacts
npm install expo-auth-session expo-crypto
npm install expo-device expo-constants
npm install expo-linking expo-web-browser
npm install expo-image-manipulator
npm install expo-media-library
npm install expo-permissions
npm install expo-sensors
npm install expo-haptics
npm install expo-av
npm install expo-barcode-scanner
npm install expo-print
npm install expo-sharing
npm install expo-sqlite
npm install expo-task-manager
npm install expo-background-fetch
npm install expo-location
npm install expo-sensors
npm install expo-battery
npm install expo-network
npm install expo-device
npm install expo-application
npm install expo-screen-orientation
npm install expo-splash-screen
npm install expo-status-bar
npm install expo-system-ui
npm install expo-updates
npm install expo-web-browser
npm install expo-linear-gradient
npm install expo-blur
npm install expo-keep-awake
npm install expo-sensors
npm install expo-haptics
npm install expo-av
npm install expo-barcode-scanner
npm install expo-print
npm install expo-sharing
npm install expo-sqlite
npm install expo-task-manager
npm install expo-background-fetch
npm install expo-location
npm install expo-sensors
npm install expo-battery
npm install expo-network
npm install expo-device
npm install expo-application
npm install expo-screen-orientation
npm install expo-splash-screen
npm install expo-status-bar
npm install expo-system-ui
npm install expo-updates
npm install expo-web-browser
npm install expo-linear-gradient
npm install expo-blur
npm install expo-keep-awake- Create a Firebase project at Firebase Console
- Add your app configuration to
src/config/firebase.ts - Enable Authentication, Firestore, and Cloud Functions
- Create a Google Cloud project
- Enable Cloud Vision API
- Create service account and download credentials
- Add credentials to
src/config/google-cloud.ts
npx expo startmedical-health-app/
βββ src/
β βββ components/ # Reusable UI components
β βββ screens/ # App screens
β βββ navigation/ # Navigation configuration
β βββ store/ # Redux store and slices
β βββ services/ # API services and external integrations
β βββ utils/ # Helper functions and utilities
β βββ types/ # TypeScript type definitions
β βββ constants/ # App constants and configurations
β βββ hooks/ # Custom React hooks
β βββ assets/ # Images, fonts, and other assets
βββ app.json # Expo configuration
βββ package.json # Dependencies
βββ tsconfig.json # TypeScript configuration
Create a .env file in the root directory:
FIREBASE_API_KEY=your_firebase_api_key
FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_STORAGE_BUCKET=your_project.appspot.com
FIREBASE_MESSAGING_SENDER_ID=your_sender_id
FIREBASE_APP_ID=your_app_id
GOOGLE_CLOUD_API_KEY=your_google_cloud_api_key
OPENAI_API_KEY=your_openai_api_key
-
Setup Development Environment
- Install Node.js and Expo CLI
- Clone the repository
- Install dependencies
- Configure Firebase and Google Cloud
-
Development
- Run
npx expo startfor development server - Use Expo Go app for testing on device
- Use Android Studio/Xcode for emulator testing
- Run
-
Testing
- Unit tests with Jest
- Integration tests with Detox
- Manual testing on both platforms
-
Building
expo build:androidfor Android APKexpo build:iosfor iOS IPAexpo publishfor OTA updates
- Google Sign-In integration
- Google Calendar sync
- Android-specific notifications
- Biometric authentication
- Apple Sign-In integration
- Apple Calendar sync
- Face ID/Touch ID authentication
- HealthKit integration
- All sensitive data encrypted at rest
- Secure API communication with HTTPS
- Biometric authentication for app access
- HIPAA compliance for medical data
- Regular security audits
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new features
- Submit a pull request
For support and questions:
- Create an issue in the repository
- Contact the development team
- Check the documentation
Note: This app handles sensitive medical information. Ensure compliance with local healthcare regulations and data protection laws.