flutter_magento_marketplace 1.2.0 copy "flutter_magento_marketplace: ^1.2.0" to clipboard
flutter_magento_marketplace: ^1.2.0 copied to clipboard

DEPRECATED: This package has been merged into flutter_magento. Use flutter_magento ^3.6.0 instead. Flutter library for Magento 2 Marketplace functionality with multi-seller support, subdomains, rating [...]

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

1
likes
110
points
62
downloads

Publisher

verified publishernativemind.net

Weekly Downloads

DEPRECATED: This package has been merged into flutter_magento. Use flutter_magento ^3.6.0 instead. Flutter library for Magento 2 Marketplace functionality with multi-seller support, subdomains, ratings, and messaging

Homepage

Documentation

API reference

License

unknown (license)

Dependencies

cached_network_image, device_info_plus, dio, equatable, flutter, flutter_magento, flutter_riverpod, flutter_staggered_grid_view, freezed_annotation, hive, hive_flutter, image_picker, intl, json_annotation, package_info_plus, pull_to_refresh, riverpod_annotation, shared_preferences, shimmer, url_launcher

More

Packages that depend on flutter_magento_marketplace