MediPal is an intelligent Flutter-based personal health assistant app that provides AI-powered health insights, symptom assessment, medication management, and real-time health consultations. Designed with safety and accessibility in mind, MediPal helps users monitor their health, analyze symptoms, manage medications, and get personalized health recommendations through an intuitive and secure interface.
- Guided symptom analysis with AI-generated personalized assessments
- Interactive questionnaire system for accurate health evaluation
- Save and review past symptom assessments
- Age-appropriate content and recommendations
- Comprehensive medication tracking with dosage and frequency
- Intelligent reminder system with notification support
- Low stock and refill alerts
- Medication interaction checker with smart caching
- 24/7 AI chat for health questions and guidance
- Context-aware responses based on user profile
- Age-appropriate safety modes for minors
- Quick action buttons for common health topics
- Customized health insights and tips
- Quick access to all features
- Pull-to-refresh health data
- Emergency information and contacts
- Age-appropriate content filtering
- Local data storage for privacy
- Emergency support with location-based information
- Parental guidance prompts for minors
- Comprehensive medication and symptom history
- Exportable health reports
- Interaction analysis caching
- Progress tracking and insights
- β Android (API 21+)
- β iOS (12.0+)
- β Web (Progressive Web App)
β οΈ Desktop (Limited support)
Before you begin, ensure you have the following installed:
- Flutter SDK (3.0.0 or higher)
- Dart SDK (3.0.0 or higher)
- Android Studio or Xcode for mobile development
- Git
git clone https://github.com/your-username/medipal.git
cd medipalflutter pub get- Create a
.envfile in the root directory:
# Add your API keys and configuration here
DEEPSEEK_API_KEY=your_api_key_here- Configure notification permissions in
android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
<uses-permission android:name="android.permission.USE_EXACT_ALARM" />flutter runflutter run --debugflutter run -d chrome- Launch the App: Open MediPal and complete the personalized onboarding process
- Profile Setup: Enter your basic information (name, age, gender) for customized recommendations
- Explore Features: Navigate through the intuitive interface to access all health management tools
- Tap "Symptom Checker" from the home screen
- Describe your primary symptom
- Answer guided questions for accurate assessment
- Review your personalized health report
- Save for future reference
- Navigate to "Medications" tab
- Add medications with dosage and frequency
- Set up reminders and refill alerts
- Check for drug interactions
- Track medication history
- Access the chat interface
- Ask health-related questions
- Get instant AI-powered responses
- Save important conversations
- Export chat history
- Quick access to emergency information
- Location-based emergency contacts
- Safety guidelines for different situations
dependencies:
flutter: sdk: flutter
provider: ^6.0.5
shared_preferences: ^2.2.2
flutter_dotenv: ^5.1.0
timezone: ^0.9.2
flutter_timezone: ^1.0.8
gpt_markdown: ^0.1.2
share_plus: ^7.2.1
flutter_local_notifications: ^16.3.0lib/
βββ main.dart # App entry point
βββ screens/ # UI screens
β βββ home_screen.dart
β βββ onboarding_screen.dart
β βββ chat_screen.dart
β βββ symptom_checker_screen.dart
β βββ medication_screen.dart
β βββ medication_warning_screen.dart
βββ services/ # Business logic
β βββ deepseek_service.dart
β βββ notification_service.dart
β βββ chat_history_service.dart
β βββ emergency_service.dart
βββ models/ # Data models
βββ utils/ # Utilities
β βββ app_state.dart
βββ widgets/ # Reusable widgets
- State Management: Provider pattern for reactive state management
- Local Storage: SharedPreferences for user data persistence
- Notifications: Flutter Local Notifications for medication reminders
- AI Integration: Custom DeepSeek service for health consultations
- Caching: Smart caching system for medication interactions
- Responsive Design: Adaptive UI for different screen sizes
# Run all tests
flutter test
# Run tests with coverage
flutter test --coverage
# Run integration tests
flutter drive --target=test_driver/app.dart- Unit Tests: Core business logic and utilities
- Widget Tests: UI component testing
- Integration Tests: End-to-end user flow testing
Enable exact alarm permissions for accurate medication reminders:
- The app will prompt for permissions on first medication reminder setup
- Grant "Alarms & reminders" permission in system settings
- Test notifications using the built-in test feature
The app automatically adjusts content based on user age:
- Minors (<18): Safe mode with parental guidance prompts
- Young Adults (18-25): Focus on building healthy habits
- Adults (25+): Full feature access with comprehensive health insights
We welcome contributions to MediPal! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Flutter and Dart style conventions
- Write tests for new features
- Update documentation as needed
- Ensure age-appropriate content guidelines are maintained
- Test across multiple platforms
- Be respectful and inclusive
- Focus on constructive feedback
- Prioritize user safety and privacy
- Maintain high code quality standards
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2025 MediPal
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
- π§ Email: [email protected]
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
- Flutter team for the amazing framework
- DeepSeek for AI capabilities
- The open-source community for valuable packages
- Healthcare professionals who provided guidance on content safety
- Wearable device integration
- Telemedicine consultation booking
- Advanced health analytics
- Multi-language support
- Family health management
- Doctor appointment scheduling
Made with β€οΈ for better health management
Star β this repository if you find it helpful!





