Featured: Product Collection — Browse curated artisan products including potted plants, home decor, and handcrafted items with real-time inventory tracking and instant shopping cart access.
Marti is a Flutter app that helps artisans showcase products, tell their stories, and sell to customers seamlessly. It features localized UX, chat, reviews with voice replies, order tracking, notifications, and AI-powered assistance (Firebase AI/Gemini) for rich experiences.
Add your api key in (marti/lib/services/gemini_service.dart) & (marti/lib/services/CI_retailer_analytics_service.dart)
Craft It: Custom request form for pottery and handmade items | Browse: Google Nano Banana | Details: Used to generate production level product photography less than 10 secs | Cart: Shopping experience
UI evolves rapidly; see lib/scripts/ for current pages.
- Flutter SDK (3.22+ recommended)
- Dart SDK (bundled with Flutter)
- A Firebase project (Firestore, Storage, Authentication, Messaging enabled)
- Android Studio / Xcode tooling (platform builds)
git clone <your-repo-url>
cd Arti
flutter pub getPlace your platform configs:
- Android:
android/app/google-services.json - iOS:
ios/Runner/GoogleService-Info.plist
Rules (optional starting points are provided):
- Firestore rules:
firestore.rulesorfirestore_simplified.rules - Storage rules:
storage.rulesorfirebase_storage_rules.txt
- App icon/logo:
assets/images/marti_16_9.png(already wired; launcher icons generated) - Optional GCP/AI:
assets/gcp-service-key.jsonandassets/client_secret.json
flutter runTo build launcher icons again (already set up):
flutter pub run flutter_launcher_iconsCore runtime:
- Flutter, Dart, Provider (
provider) for state management - Localization with Flutter gen-l10n (
flutter_localizations,intl)
Firebase integration:
firebase_core,firebase_auth,cloud_firestore,firebase_storagefirebase_messagingfor push notificationsflutter_local_notificationsfor local notifications
Media & device:
image_picker,cached_network_image,video_player,audioplayersrecord(audio),mobile_scanner(QR/scan),qr_flutter
Location & maps:
geolocator,google_maps_flutter,latlong2
AI & networking:
google_generative_ai,firebase_ai,dio,http
UX & utilities:
google_fonts,permission_handler,shared_preferences,file_picker,path_provider,image- Charts & analytics UI:
fl_chart
All versions are pinned in pubspec.yaml. Install via flutter pub get.
- Onboarding/Login
- Choose language, sign in with email/Google (via
login_screen.dart).
- Choose language, sign in with email/Google (via
- Browse & Discover
- Explore products and artisan stories (
buyer_screen.dart,enhanced_product_listing_page.dart).
- Explore products and artisan stories (
- Product Details
- View images, descriptions, ratings, and artisan legacy stories (
product_detail_screen.dart).
- View images, descriptions, ratings, and artisan legacy stories (
- Cart & Checkout
- Add to cart (
cart_screen.dart), proceed to order.
- Add to cart (
- Orders & Tracking
- Follow order status and history (
orders_page.dart).
- Follow order status and history (
- Chat & Assistance
- Chat with artisans or use the buyer chatbot (
buyer_chatbot_screen.dart).
- Chat with artisans or use the buyer chatbot (
- Reviews
- Leave reviews; see artisan text/voice replies.
- Onboarding
- Sign in, complete profile (
seller_profile_screen.dart).
- Sign in, complete profile (
- Product Management
- Create/edit products, manage inventory, media uploads (
product_management_screen.dart,add_product_screen.dart,edit_product_screen.dart).
- Create/edit products, manage inventory, media uploads (
- Orders
- Manage incoming orders (
seller_orders_page.dart,enhanced_seller_orders_page.dart).
- Manage incoming orders (
- Analytics
- Track performance and trends (
seller_analytics_screen.dart).
- Track performance and trends (
- Customer Engagement
- Respond to chats and reviews with text or voice replies (
product_reviews_management_screen.dart).
- Respond to chats and reviews with text or voice replies (
- Storytelling
- Craft “Artisan Legacy Story” to deepen buyer trust (
edit_artisan_story_screen.dart).
- Craft “Artisan Legacy Story” to deepen buyer trust (
Principles
- Feature-first screens with clear separation of concerns
- Services + repositories + models for Firebase and integrations
- Provider for app-wide state (locale, auth, data)
- Strong localization via gen-l10n (see
lib/l10n/*.arb)
Key folders
lib/main.dart– app entry, localization, routing gluelib/models/– core data models (product, order, review, chat, etc.)lib/screens/– buyer & seller UIslib/navigation/– navigation scaffoldinglib/services/– Firebase, storage, analytics, AI helperslib/widgets/– reusable UI componentslib/l10n/–app_en.arb,app_ta.arb,app_hi.arb(localizations)assets/– images and optional auth/AI keys
Data & backend
- Firebase Auth: user accounts for buyers/sellers
- Firestore: products, orders, chats, reviews, artisan profiles
- Storage: product media, voice replies
- FCM: push notifications
Marti ships with English, Tamil, and Hindi via Flutter gen-l10n.
- ARB files:
lib/l10n/app_*.arb - Add new languages by creating
app_<lang>.arband runningflutter pub get(gen-l10n is enabled inpubspec.yaml).
- Push:
firebase_messaging - Local:
flutter_local_notifications - Navigation from notifications via a global
navigatorKey
- Simple product onboarding and inventory management
- Direct chat with buyers, build relationships
- Voice/text replies to reviews for authenticity
- Analytics dashboard to understand performance
- Storytelling tools to showcase heritage and craft
- Trust via artisan profiles and legacy stories
- Smooth discovery → detail → cart → checkout flow
- Chat with sellers and get quick help via chatbot
- Reviews with voice responses add credibility
- Localized experience in multiple languages
Environment
- Ensure Flutter SDK is installed and on PATH
- On Windows PowerShell, prefer commands listed here
Common commands
# Fetch dependencies
flutter pub get
# Run the app on a connected device/emulator
flutter run
# Analyze and format
flutter analyze
flutter format .
# (Re)generate launcher icons
flutter pub run flutter_launcher_iconsMaps & APIs
- Add your Google Maps API key per
google_maps_flutterdocs if you use map features. - AI features can be enabled with
firebase_aiorgoogle_generative_ai; see project docs inDeveloper_readme/.
Security
- Do not commit real production secrets. The files under
assets/are for local/dev.
This repository is proprietary to its authors/owners. If you plan to open-source, add a license here.
- Flutter and Firebase communities
- All contributing artisans and early users
