PillPal is a Flutter-based mobile application that connects with a smart medication dispenser device to help users manage their medications effectively. The app provides medication reminders, tracks dosage, and ensures medication adherence through automated dispensing.
- 📱 User-friendly mobile interface
- 🔵 Bluetooth connectivity with dispenser device
- ⏰ Medication scheduling and reminders
- 📊 Medication tracking and history
- 🔔 Real-time notifications
- 👥 Emergency contact management
- 🔒 Secure user authentication
- 📈 Compliance monitoring
- Flutter SDK >=3.6.0 <4.0.0
- Android SDK version 21 or higher
- Java Development Kit (JDK) version 17
- Bluetooth-enabled device
dependencies:
flutter_blue_plus: ^1.31.16
provider: ^6.0.5
shared_preferences: ^2.2.0
sqflite: ^2.3.0
intl: ^0.18.1
awesome_notifications: ^0.8.3
lib/
├── config/
│ ├── theme.dart
│ └── routes.dart
├── models/
│ ├── user.dart
│ ├── medication.dart
│ └── device.dart
├── screens/
│ ├── auth/
│ ├── home/
│ ├── schedule/
│ ├── medications/
│ ├── profile/
│ └── device/
├── services/
│ ├── bluetooth_service.dart
│ └── notification_service.dart
└── utils/
├── constants.dart
└── helpers.dart
-
Prerequisites
- Install Flutter SDK
- Install Android Studio
- Configure Android SDK
- Set up a physical device or emulator
-
Clone the Repository
git clone https://github.com/yourusername/pillpal.git cd pillpal
-
Install Dependencies
flutter pub get
-
Configure Android Settings
- Update
android/app/build.gradle
:android { namespace "com.example.pillpal" compileSdkVersion 34 minSdkVersion 21 ... }
- Update
-
Run the App
flutter run
The app requires specific permissions for Bluetooth functionality. These are automatically configured in the Android Manifest:
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH" />
-
Gradle Build Issues
- Clean the project:
flutter clean
- Delete build directories:
cd android ./gradlew clean cd ..
- Clean the project:
-
Bluetooth Connection Issues
- Ensure device Bluetooth is enabled
- Check Android permissions
- Verify minimum SDK version
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support or queries, please open an issue in the repository.