Flutter Magento Marketplace Library

โš ๏ธ DEPRECATED: This package has been integrated into the main flutter_magento package as of version 3.6.0. Please migrate to using flutter_magento directly. This package will no longer receive updates.

Migration Guide: All marketplace functionality is now available under package:flutter_magento/flutter_magento.dart. Simply replace your imports and the code will work the same way.

Latest Stable Version License Total Downloads

๐Ÿšจ THIS PACKAGE IS DEPRECATED ๐Ÿšจ

This package has been merged into the main flutter_magento package. Please use flutter_magento version 3.6.0 or higher instead.


A comprehensive Flutter library for Magento 2 Marketplace functionality with multi-seller support, subdomains, ratings, messaging, and more. Built on top of the core flutter_magento library to provide seamless marketplace features.

๐Ÿš€ Features

๐Ÿช Multi-Seller Platform

  • Seller Management - Complete seller registration, approval, and management
  • Seller Profiles - Rich seller profiles with ratings, reviews, and statistics
  • Subdomain Support - Individual seller stores with custom subdomains
  • Seller Dashboard - Comprehensive management interface for sellers
  • Seller Search & Discovery - Advanced search and filtering capabilities

๐Ÿ›๏ธ Product Management

  • Marketplace Products - Support for seller-specific products
  • Product Conditions - New, used, refurbished, and for-parts products
  • Product Moderation - Admin approval workflow for products
  • Product Search - Advanced product search and filtering
  • Product Categories - Organized product categorization

โญ Rating & Review System

  • Seller Ratings - Overall seller performance scoring
  • Product Reviews - Detailed product feedback from buyers
  • Review Management - Create, update, and moderate reviews
  • Rating Analytics - Comprehensive rating statistics

๐Ÿ’ฌ Communication Tools

  • Internal Messaging - Direct buyer-seller communication
  • Order Messaging - Contextual messaging tied to orders
  • Real-time Notifications - Push notifications for messages
  • Message History - Complete conversation history

๐Ÿ’ฐ Commission & Payment

  • Commission Tracking - Monitor seller commissions
  • Payment Integration - Seamless payment processing
  • Financial Reports - Comprehensive financial analytics

๐ŸŽ›๏ธ Admin Features

  • Seller Management - Approve, suspend, or manage sellers
  • Content Moderation - Review and approve products/reviews
  • Analytics Dashboard - Comprehensive marketplace analytics
  • Settings Management - Configure marketplace settings

๐Ÿ“ฆ Installation

โš ๏ธ DO NOT USE THIS PACKAGE - IT IS DEPRECATED

Instead, use the main flutter_magento package:

dependencies:
  flutter_magento: ^3.6.0

Then run:

flutter pub get

๐Ÿ”„ Migration Guide

Old import (deprecated):

import 'package:flutter_magento_marketplace/flutter_magento_marketplace.dart';

New import:

import 'package:flutter_magento/flutter_magento.dart';

All marketplace classes, widgets, and functionality remain exactly the same. Only the import needs to be updated.

๐Ÿ”ง Setup

1. Initialize the Marketplace Client

import 'package:flutter_magento_marketplace/flutter_magento_marketplace.dart';
import 'package:flutter_magento/flutter_magento.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ProviderScope(
      child: MaterialApp(
        home: MarketplaceApp(),
      ),
    );
  }
}

class MarketplaceApp extends ConsumerWidget {
  @override
  Widget build(BuildContext context, WidgetRef ref) {
    // Initialize Magento client
    final magentoClient = MagentoClient(
      baseUrl: 'https://yourstore.com',
      // ... other configuration
    );

    // Initialize Marketplace client
    final marketplaceClient = MagentoMarketplaceClient(
      config: MarketplaceConfig(
        baseUrl: 'https://yourstore.com',
        enableSubdomains: true,
        enableMessaging: true,
        enableNotifications: true,
      ),
      magentoClient: magentoClient,
    );

    return MaterialApp(
      home: MarketplaceHomeScreen(),
    );
  }
}

2. Configure Providers

void main() {
  runApp(
    ProviderScope(
      overrides: [
        marketplaceConfigProvider.overrideWithValue(
          MarketplaceConfig(
            baseUrl: 'https://yourstore.com',
            enableSubdomains: true,
            enableMessaging: true,
            enableNotifications: true,
          ),
        ),
        magentoClientProvider.overrideWithValue(
          MagentoClient(
            baseUrl: 'https://yourstore.com',
            // ... other configuration
          ),
        ),
      ],
      child: MyApp(),
    ),
  );
}

๐ŸŽฏ Usage

Seller Management

// Get all sellers
final sellerService = ref.read(sellerServiceProvider);
final sellers = await sellerService.getSellers(
  filters: SellerSearchFilters(
    search: 'electronics',
    ratingMin: 4.0,
    sortBy: SellerSortBy.rating,
  ),
  pageSize: 20,
);

// Get seller by ID
final seller = await sellerService.getSeller(123);

// Get seller by subdomain
final seller = await sellerService.getSellerBySubdomain('electronics-store');

// Register new seller
final newSeller = await sellerService.registerSeller(
  SellerRegistrationRequest(
    customerId: 456,
    companyName: 'Electronics Store',
    businessLicense: 'BL123456',
    phone: '+1234567890',
    address: '123 Main St',
    city: 'New York',
    region: 'NY',
    postcode: '10001',
    countryId: 'US',
    subdomain: 'electronics-store',
  ),
);

Product Management

// Get seller products
final productService = ref.read(productServiceProvider);
final products = await productService.getSellerProducts(
  sellerId: 123,
  filters: ProductSearchFilters(
    condition: 'new',
    isApproved: 1,
  ),
);

// Add seller product
final product = await productService.addSellerProduct(
  SellerProductRequest(
    sellerId: 123,
    productId: 789,
    condition: 'new',
  ),
);

Review Management

// Get seller reviews
final reviewService = ref.read(reviewServiceProvider);
final reviews = await reviewService.getSellerReviews(
  sellerId: 123,
  filters: ReviewSearchFilters(
    rating: 5,
    isApproved: 1,
  ),
);

// Create review
final review = await reviewService.createReview(
  ReviewRequest(
    sellerId: 123,
    customerId: 456,
    orderId: 789,
    rating: 5,
    title: 'Excellent service!',
    comment: 'Great product and fast shipping.',
  ),
);

Messaging

// Get messages
final messageService = ref.read(messageServiceProvider);
final messages = await messageService.getMessages(
  sellerId: 123,
  customerId: 456,
);

// Send message
final message = await messageService.sendMessage(
  MessageRequest(
    sellerId: 123,
    customerId: 456,
    orderId: 789,
    subject: 'Question about product',
    message: 'Is this product still available?',
  ),
);

UI Components

// Seller card
SellerCard(
  seller: seller,
  onTap: () {
    // Navigate to seller profile
  },
  showStatistics: true,
  showActions: true,
)

// Product grid
ProductGrid(
  products: products,
  onProductTap: (product) {
    // Navigate to product detail
  },
  onAddToCart: (product) {
    // Add to cart
  },
)

// Review list
ReviewList(
  reviews: reviews,
  onReviewTap: (review) {
    // Show review details
  },
)

// Message list
MessageList(
  messages: messages,
  onMessageTap: (message) {
    // Show message details
  },
)

๐ŸŽจ Customization

Theme Configuration

final themeProvider = Provider<ThemeData>((ref) {
  return ThemeData(
    primarySwatch: Colors.blue,
    visualDensity: VisualDensity.adaptivePlatformDensity,
    // ... other theme configuration
  );
});

Localization

final localizationProvider = Provider<Map<String, String>>((ref) {
  return {
    'appName': 'Marketplace',
    'sellers': 'Sellers',
    'products': 'Products',
    'reviews': 'Reviews',
    'messages': 'Messages',
    // ... other translations
  };
});

๐Ÿ”ง Configuration

Marketplace Configuration

final config = MarketplaceConfig(
  baseUrl: 'https://yourstore.com',
  apiPrefix: '/rest/V1/marketplace',
  enableSubdomains: true,
  enableSubdirectories: true,
  enableMessaging: true,
  enableNotifications: true,
  enableOfflineMode: true,
  enableCaching: true,
  cacheDuration: 300, // 5 minutes
  connectTimeout: 30,
  receiveTimeout: 30,
  sendTimeout: 30,
  maxRetries: 3,
  retryDelay: 1000,
);

Environment Configuration

// Development
final config = MarketplaceConfig.development(
  baseUrl: 'https://dev.yourstore.com',
  apiKey: 'dev-api-key',
);

// Production
final config = MarketplaceConfig.production(
  baseUrl: 'https://yourstore.com',
  apiKey: 'prod-api-key',
);

// Testing
final config = MarketplaceConfig.testing(
  baseUrl: 'https://test.yourstore.com',
  apiKey: 'test-api-key',
);

๐Ÿงช Testing

Unit Tests

import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_magento_marketplace/flutter_magento_marketplace.dart';

void main() {
  group('SellerService Tests', () {
    test('should get sellers successfully', () async {
      // Test implementation
    });
  });
}

Integration Tests

import 'package:integration_test/integration_test.dart';
import 'package:flutter_magento_marketplace/flutter_magento_marketplace.dart';

void main() {
  IntegrationTestWidgetsFlutterBinding.ensureInitialized();

  group('Marketplace Integration Tests', () {
    testWidgets('should display marketplace home screen', (tester) async {
      // Test implementation
    });
  });
}

๐Ÿ“ฑ Screenshots

Marketplace Home Seller Profile Product Detail Messages
Home Profile Product Messages

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ†˜ Support

๐Ÿ“Š Statistics

  • Downloads: 10,000+
  • Stars: 500+
  • Forks: 100+
  • Contributors: 20+

๐ŸŽฏ Roadmap

  • v1.1.0 - Advanced search and filtering
  • v1.2.0 - Real-time messaging with WebSocket
  • v1.3.0 - Offline mode support
  • v1.4.0 - Advanced analytics
  • v1.5.0 - Multi-language support
  • v2.0.0 - Complete rewrite with new architecture

๐Ÿ™ Acknowledgments

  • Magento for the amazing e-commerce platform
  • Flutter for the beautiful UI framework
  • Riverpod for state management
  • Dio for HTTP client
  • Freezed for code generation

Made with โค๏ธ by NativeMind

Libraries

flutter_magento_marketplace
Flutter Magento Marketplace Library