Skip to content

Flutter-based personal health assistant app that provides AI-powered health insights, symptom assessment, medication management, and chat-based health consultations.

Notifications You must be signed in to change notification settings

adicadi/MediPal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

41 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MediPal

Flutter Dart Provider License

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.

πŸ“± Screenshots

Onboarding Screen Home Screen Symptom Checker Medication Interaction Medication Management Chat Screen

πŸ“± Features

πŸ” Intelligent Symptom Checker

  • 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

πŸ’Š Smart Medication Management

  • Comprehensive medication tracking with dosage and frequency
  • Intelligent reminder system with notification support
  • Low stock and refill alerts
  • Medication interaction checker with smart caching

πŸ€– AI-Powered Health Assistant

  • 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

🏠 Personalized Dashboard

  • Customized health insights and tips
  • Quick access to all features
  • Pull-to-refresh health data
  • Emergency information and contacts

πŸ”’ Safety & Privacy

  • Age-appropriate content filtering
  • Local data storage for privacy
  • Emergency support with location-based information
  • Parental guidance prompts for minors

πŸ“Š Health History & Analytics

  • Comprehensive medication and symptom history
  • Exportable health reports
  • Interaction analysis caching
  • Progress tracking and insights

πŸ“‹ Supported Platforms

  • βœ… Android (API 21+)
  • βœ… iOS (12.0+)
  • βœ… Web (Progressive Web App)
  • ⚠️ Desktop (Limited support)

πŸš€ Installation

Prerequisites

Before you begin, ensure you have the following installed:

Clone the Repository

git clone https://github.com/your-username/medipal.git
cd medipal

Install Dependencies

flutter pub get

Environment Configuration

  1. Create a .env file in the root directory:
# Add your API keys and configuration here
DEEPSEEK_API_KEY=your_api_key_here
  1. 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" />

Build and Run

For Android:

flutter run

For iOS:

flutter run --debug

For Web:

flutter run -d chrome

πŸ“± Usage

Getting Started

  1. Launch the App: Open MediPal and complete the personalized onboarding process
  2. Profile Setup: Enter your basic information (name, age, gender) for customized recommendations
  3. Explore Features: Navigate through the intuitive interface to access all health management tools

Core Functionalities

Symptom Assessment

  1. Tap "Symptom Checker" from the home screen
  2. Describe your primary symptom
  3. Answer guided questions for accurate assessment
  4. Review your personalized health report
  5. Save for future reference

Medication Management

  1. Navigate to "Medications" tab
  2. Add medications with dosage and frequency
  3. Set up reminders and refill alerts
  4. Check for drug interactions
  5. Track medication history

AI Health Chat

  1. Access the chat interface
  2. Ask health-related questions
  3. Get instant AI-powered responses
  4. Save important conversations
  5. Export chat history

Emergency Support

  1. Quick access to emergency information
  2. Location-based emergency contacts
  3. Safety guidelines for different situations

πŸ› οΈ Technical Architecture

Core Dependencies

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.0

Project Structure

lib/
β”œβ”€β”€ 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

Key Features Implementation

  • 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

πŸ§ͺ Testing

Run Tests

# Run all tests
flutter test

# Run tests with coverage
flutter test --coverage

# Run integration tests
flutter drive --target=test_driver/app.dart

Testing Structure

  • Unit Tests: Core business logic and utilities
  • Widget Tests: UI component testing
  • Integration Tests: End-to-end user flow testing

πŸ”§ Configuration

Notification Setup

Enable exact alarm permissions for accurate medication reminders:

  1. The app will prompt for permissions on first medication reminder setup
  2. Grant "Alarms & reminders" permission in system settings
  3. Test notifications using the built-in test feature

Age-Appropriate Content

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

🀝 Contributing

We welcome contributions to MediPal! Please follow these guidelines:

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • 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

Code of Conduct

  • Be respectful and inclusive
  • Focus on constructive feedback
  • Prioritize user safety and privacy
  • Maintain high code quality standards

πŸ“„ License

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.

πŸ“ž Support

Get Help

Medical Disclaimer

⚠️ Important: MediPal is designed for informational purposes only and should not replace professional medical advice, diagnosis, or treatment. Always consult qualified healthcare professionals for medical decisions.


πŸ™ Acknowledgments

  • 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

πŸ—ΊοΈ Roadmap

Upcoming Features

  • 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!

About

Flutter-based personal health assistant app that provides AI-powered health insights, symptom assessment, medication management, and chat-based health consultations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages