This is the cross-platform mobile application for the Mivro project, built with the Flutter framework. It enables users to scan barcodes, search products, track meals, chat with a recipe chatbot, and explore a marketplace for healthier alternatives.
Maintained By: Rishi Chirchi
.metadata: Contains metadata for the Flutter project.analysis_options.yaml: Defines the linting rules and analysis options for the Dart code.pubspec.lock: Locks the versions of dependencies used in the project.pubspec.yaml: Specifies the appβs dependencies, assets, and other configurations.
android/: Contains files and configurations for building the Flutter app on Android.ios/: Contains files and configurations for building the Flutter app on iOS.linux/: Contains files and configurations for building the Flutter app on Linux.macos/: Contains files and configurations for building the Flutter app on macOS.web/: Contains files and configurations for building the Flutter app for the web.windows/: Contains files and configurations for building the Flutter app on Windows.
assets/: Contains animations for the scanner and icons/logos used in the user interface.
providers/:chat_history_provider.dart: Manages loading and maintaining the chat history.chat_provider.dart: Handles API requests to the Python server for chatbot functionalities.
screens/:home_page.dart: The main landing page of the app.scanner_screen.dart: Manages the UI for the barcode scanner feature.marketplace_screen.dart: Allows users to browse and purchase healthier product alternatives.chat_screen.dart: Contains the interface for chatting with the recipe chatbot.tracker_screen.dart: Handles the meal tracker functionality, allowing users to monitor their daily nutritional intake.profile_screen.dart: Manages user profile details and settings.
main.dart: The entry point for the Flutter application, setting up the app structure and initial routes.
Ensure you have the following installed:
- Flutter SDK: Install Flutter
- Dart SDK (comes with Flutter)
- Git (for version control)
- Android Studio or VS Code (with Flutter and Dart plugins)
- [Optional] Xcode (for iOS development on macOS)
To verify your environment setup, run:
flutter doctorgit clone https://github.com/your-username/your-flutter-project.git
cd your-flutter-projectflutter pub getIf using Firebase:
- Place
google-services.jsoninandroid/app/ - Place
GoogleService-Info.plistinios/Runner/
If your app uses environment variables:
- Create a
.envfile in the root directory.
Example contents:
API_KEY=your_api_key
BASE_URL=https://api.example.com- Enable Developer Options on your Android phone.
- Enable USB Debugging under Developer Options.
- Connect the phone via USB.
- Verify the device is detected:
flutter devices
- Run the app:
You may have to authorize the PC when prompted on your phone.
flutter run
- Connect your iPhone.
- Trust the computer from the iPhone.
- Open
ios/Runner.xcworkspacein Xcode. - Set your team ID under Signing & Capabilities.
- Run:
flutter run
- Open Android Studio > Device Manager.
- Create a new virtual device with preferred specs.
- Start the emulator.
- Run:
flutter run
- Open Simulator from Xcode (Xcode > Open Developer Tool > Simulator).
- Run:
flutter run
flutter testflutter clean
flutter pub getlib/
βββ main.dart
βββ screens/
βββ widgets/
βββ models/
βββ providers/flutter build apk --releaseflutter build ios --releaseflutter doctor --android-licenses- Ensure CocoaPods is installed:
sudo gem install cocoapods - Open project in Xcode and resolve signing issues
- Ensure USB debugging is enabled
- Use
flutter doctor -vfor detailed info
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License.
- Open Food Facts for providing access to a comprehensive food product database.
- All Contributors for their valuable contributions to the development and improvement of this project.