Skip to content

Latest commit

 

History

History
68 lines (57 loc) · 2.97 KB

File metadata and controls

68 lines (57 loc) · 2.97 KB

🛒 Smart Grocery List

A highly dynamic, intelligent, and beautifully designed Flutter application to manage all your grocery shopping needs. The app incorporates advanced features like BLoC state management, automated web image fetching, and a completely standalone Gemini AI Voice Cart that dynamically generating valid images strictly based on what you ask for!

✨ Key Features

  • Modern & Premium UI: Designed using a customized dark green theme with smooth transitions, clean typography, and a unique tab-based layout.
  • Smart Catalog: Browse an extensive list of natively aggregated groceries.
  • Dynamic Image Fetching: Instantly fetches high-quality Wikimedia and public images for any item.
  • Intelligent Caching: All images are locally cached seamlessly via cached_network_image for instant loading times on repeat use without stuttering.
  • Google Assistant Integration: Add items globally from anywhere on your Android phone using Android App Actions (shortcuts.xml) and Deep Link Intents! Simply say: "Add Apples to Grocery List".
  • 🤖 Gemini AI Voice Cart:
    • A completely isolated and independent shopping cart for dynamic side-by-side tracking.
    • Features real-time Speech-to-Text integration built right into the interface.
    • Powered by Gemini 2.5 Flash to analyze natural language sentences and extract targeted JSON nouns.
    • Validates AI-hallucinated URLs instantly through an HTTP HEAD pipeline before gracefully falling back to automated Wikipedia metadata searches.

📸 Screenshots

Catalog & Standard Cart

Gemini AI Voice Cart

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository:
    git clone <your-repo-link>
    cd GroceryShoppingList
  2. Fetch the Flutter dependencies:
    flutter pub get
  3. Run the application:
    flutter run

Enabling the AI Features

To unlock the power of the Smart Toy (AI Cart) screen:

  1. Open the application and tap the Gear/Settings Icon in the top right.
  2. Securely paste your Gemini API Key.
  3. Tap Save Settings.
  4. Navigate to the AI Cart via the Smart Toy icon and try dictating a complex list into the microphone!

🛠 Tech Stack

  • Framework: Flutter & Dart
  • State Management: flutter_bloc
  • AI Processing: google_generative_ai (Gemini 2.5 Flash API)
  • Voice Recognition: speech_to_text
  • Network & Caching: http, cached_network_image
  • Native Android: App Actions, Intents, shortcuts.xml