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 doctor
git clone https://github.com/your-username/your-flutter-project.git
cd your-flutter-project
flutter pub get
If using Firebase:
- Place
google-services.json
inandroid/app/
- Place
GoogleService-Info.plist
inios/Runner/
If your app uses environment variables:
- Create a
.env
file 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.xcworkspace
in 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 test
flutter clean
flutter pub get
lib/
βββ main.dart
βββ screens/
βββ widgets/
βββ models/
βββ providers/
flutter build apk --release
flutter build ios --release
flutter 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 -v
for 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.