Skip to content

FluxCart is a Flutter-based shopping experience featuring an AI virtual try-on, offline-friendly catalog, and clean Bloc/GetIt architecture.

License

Notifications You must be signed in to change notification settings

Batuhan4/fluxcart

Repository files navigation

🏆 FluxCart won 1st place at FlutterUp, a coding marathon organized by Flutter Ankara , and Dev Codex .

FluxCart

FluxCart is a polished, cross-platform shopping experience built with Flutter. It showcases a modern catalog, an AI-powered virtual try-on workflow, and a clean architecture that keeps domain, data, and presentation layers easy to extend.

Highlights

  • Offline-friendly catalog – mocked product data with locally bundled imagery for fast iteration.
  • Virtual try-on preview – Google GenAI integration generates tailored outfits from the shopper’s photo.
  • Responsive layout – adaptive widgets for mobile, desktop, and web from a single codebase.
  • Composable architecture – domain-driven layers, GetIt DI, and Bloc state management keep features isolated.
  • Ready for theming – surface, typography, and color usage align with Material 3 for quick branding tweaks.

Quick Start

# Install dependencies
flutter pub get

# Configure your GenAI API key (optional for offline catalog demo)
cp .env.example .env
# edit .env and set GOOGLE_GENAI_API_KEY=your_key_here

# Run on your preferred device
flutter run                # auto-detects a device
flutter run -d chrome      # web
flutter run -d windows     # desktop

Project Structure

lib/
 ├─ core/           # DI, theming, config
 ├─ data/           # remote data sources, repositories, DTOs
 ├─ domain/         # entities, use cases, repository contracts
 ├─ presentation/   # screens, widgets, blocs/cubits
 └─ images/         # bundled product imagery for quick demos

Adding Products & Images

  1. Drop new assets inside lib/images/ (JPG/PNG).
  2. Reference them in lib/data/sources/product_remote_data_source.dart.
  3. Run flutter pub get (if pubspec.yaml asset list changed).
  4. Hot restart to see updates instantly.

Virtual Try-On Setup

The try-on flow relies on Google’s Generative Language API.

  1. Create a key in Google AI Studio.
  2. Provide it via .env (GOOGLE_GENAI_API_KEY) or --dart-define.
  3. Ensure your product entries include reachable imagery (asset or remote).

Linting & Testing

flutter analyze
flutter test

Tooling

  • Flutter 3.24+
  • Dart 3.5+
  • Bloc & GetIt for state + DI
  • http & dotenv for API access
  • Impeller rendering on supported platforms

Contributing

  1. Fork and create a feature branch.
  2. Make changes with tests/analysis passing.
  3. Submit a pull request describing your update and screenshots if UI changes.

License

This project is released under the MIT License.

About

FluxCart is a Flutter-based shopping experience featuring an AI virtual try-on, offline-friendly catalog, and clean Bloc/GetIt architecture.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published