The Smart Insulin Application is a mobile platform developed using Flutter to aid individuals in managing their diabetes. It integrates various features, including:
- User authentication (sign-in/sign-up)
- Bluetooth connectivity for device communication
- Data monitoring and display
- Automated insulin dosing
- User profile management
- Scheduling and reminders
- Settings and account management
- A chat assistant
- Flutter: For cross-platform mobile development
- Firebase: For user authentication and data storage
- Flutter Blue Plus: For Bluetooth Low Energy (BLE) communication
The project is organized as follows:
android/
: Android-specific build files and configurationsios/
: iOS-specific build files and configurationslib/
: Dart code for the Flutter applicationapp.dart
: Main application widgetcontrollers/
: Controllers for app logic (e.g., Bluetooth)models/
: Data modelsscreens/
: UI screens for the applicationwidgets/
: Reusable UI componentsroutes/app_routes.dart
: Navigation routes
linux/
: Linux-specific build filesmacos/
: macOS-specific build filesweb/
: Web application fileswindows/
: Windows-specific build filestest/
: Automated testsAnnTraining/
: Python scripts for an artificial neural network
- Install Flutter: Follow the official Flutter installation guide.
- Set up Firebase:
- Create a Firebase project.
- Enable the necessary Firebase services (Authentication, Firestore).
- Download the
google-services.json
(for Android) andFirebaseOptions.plist
(for iOS) files and place them in the correct project locations.
- Clone the repository:
git clone <repository_url>
- Install dependencies: Run
flutter pub get
in the project root. - Configure Bluetooth (if needed):
- Ensure Bluetooth is enabled on your development machine.
- Update the Bluetooth UUIDs in
lib/controllers/bluetooth_controller.dart
to match your device.
- Run the application:
flutter run
The project includes automated tests to ensure the quality and reliability of the application.
- Widget tests are located in the
test/
directory. - A detailed test report for the
PodStatusScreen
widget can be found intest/flutter_test_report.md
.
- This README provides a high-level overview of the project.
- For detailed information on specific features or implementation details, please refer to the code and inline documentation.