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.
-
core/: Shared utilities and configurationsapi_constants.dart: API endpoints and base URLsconstants.dart: App-wide constants and theme configurationshexcolor.dart: Color utility helpers
-
features/: Feature modules organized by functionality-
auth/: Authentication and user management- models/: User and personal details data models
- providers/: Riverpod state management (user details, personal details)
- screens/: Login, signup, and details screens
- services/: Authentication API services
-
chat/: Recipe chatbot functionality- models/: Message data models
- providers/: Chat state management (chat history, chat provider)
- screens/: Chat interface
- widgets/: Chat message components
-
home/: Main dashboard and product scanning- providers/: Product details state management
- screens/: Home page and scanner screens
- widgets/: Barcode scanner components and UI widgets
-
marketplace/: Product marketplace for healthier alternatives- models/: Product and cart data models
- providers/: Cart state management
- screens/: Marketplace and product purchase screens
-
profile/: User profile management- screens/: Profile and settings screens
- services/: Profile API services
-
tracker/: Meal and nutrition tracking- screens/: Daily nutrition tracker interface
-
-
main.dart: The entry point for the Flutter application, initializes Riverpod and sets up routing
Follow these steps to set up and run the Mivro Flutter App on your local machine, or you can watch the demo video.
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-
Fork the Repository:
- Go to the Mivro Flutter App repository and click "Fork" to create a copy under your GitHub account.
-
Clone the Repository:
git clone https://github.com/<your-username>/mivro-mobile.git cd mivro-mobile
-
Get Dependencies:
flutter pub get
-
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:
flutter run
You may have to authorize the PC when prompted on your phone.
-
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 build apk --releaseflutter build ios --releaseFor detailed documentation, visit the Documentation Repository.
We welcome contributions! Follow the guidelines in our Contributing Guide.
- 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.