Ingredients Scanner is a cross-platform mobile application designed to scan and interpret the ingredient lists on food labels. It enhances readability and assists users in identifying undesirable ingredients. An app built with Flutter, implementing Clean Architecture and TDD principles.
- Text Recognition: Utilizes Google ML Kit for text recognition.
- User Authentication: Powered by Firebase Authentication.
- User Preferences: Stores user settings using SharedPreferences.
- Clean Architecture: Adheres to clean architecture principles.
- TDD Approach: Developed using Test-Driven Development (TDD).
- Flutter SDK
- Firebase account
- Clone the repository:
git clone https://github.com/spermobak/ingredients_scanner.git
- Navigate to the project directory:
cd ingredients_scanner
- Install dependencies:
flutter pub get
- Firebase Setup
- Follow the Firebase setup guide to add Firebase to your Flutter app.
- Add your 'google-services.json' (for Android) and 'GoogleService-Info.plist' (for iOS) to the respective directories.
- Run the app on an emulator or connected device:
flutter run
- Presentation Layer: UI components and state management.
- Domain Layer: Business logic and use cases.
- Data Layer: Repository pattern for data handling.
- Run unit tests:
flutter test
- Authenticate users with email/password or social media accounts.
- Save and manage user preferences locally.
- Scan product ingredients using the camera.
Contributions are welcome! Please create an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any queries, please contact alexeybismus@gmail.com.