Bulistio Complete Kit - Unified Business Directory & Vendor Management

Bulistio is a production-ready, feature-rich Flutter application that delivers both customer and vendor experiences in a single unified codebase. It's a comprehensive Business Listing / Directory Platform where administrators create subscription packages, businesses list their services, and vendors manage their operations efficiently.

What is Bulistio?

Bulistio is a flexible, scalable platform designed for both global and local business directories. The complete kit includes:

  • Customer Application: A comprehensive marketplace where users browse, search, and interact with business listings, manage wishlists, orders, and purchases
  • Vendor Application: A complete vendor management console with analytics, listing management, product shop, financial tools, and support ticket system
  • Unified Architecture: Both apps share common components, theme system, and localization infrastructure while maintaining independent feature modules

Key Platform Capabilities

  • Subscription Management: Administrators create and manage subscription packages (monthly, yearly, lifetime, premium, or free plans)
  • Featured Listings: Businesses can pay to feature their listings for prominent visibility
  • Claim Listing Feature: Business owners can claim existing listings with verification
  • Multivendor Shop: Optional shop feature where vendors and admins sell products
  • Multi-language & Dark Mode: Full support for English, Arabic (RTL), Spanish and dark themes
  • Analytics & Dashboard: Vendors access real-time analytics and business metrics
  • Messaging System: Integrated messaging for inquiries with conversation tracking

Project Overview

Architecture Overview

The Bulistio Complete Kit uses a unified architecture with dual entry points:

  • main.dart: Entry point that launches a selector screen
  • Selector Screen (selector.dart): Allows users to choose between Customer or Vendor app
  • lib/customer/: All customer-facing features (browsing, purchases, wishlists)
  • lib/vendor/: All vendor management features (listings, products, analytics)
  • Shared Components (lib/common/): Reusable UI widgets and utilities both apps use

Technology Stack

  • Framework: Flutter 3.11.4+ for cross-platform Android & iOS development
  • State Management: Provider pattern for reactive state across modules
  • Localization: Flutter i18n with English, Arabic (RTL), and Spanish support
  • Data Storage: SharedPreferences for persisting theme, locale, and preferences
  • Charts & Analytics: fl_chart and Syncfusion charts for vendor dashboard
  • Rich Text: flutter_quill for descriptions with formatted text support
  • File Handling: image_picker and file_picker for media uploads

How Both Apps Interact

The customer and vendor apps are independent experiences but share:

  • Common UI widget library in lib/common/
  • Shared theming system with light/dark mode support
  • Localization infrastructure for multi-language support
  • Core assets (logos, icons, images) in assets/
  • Same dependencies defined in pubspec.yaml

Folder Structure

All logical and UI changes should follow the library (lib) folder structure. The unified project structure:

bulistio_complete_kit/
├── lib/
│   ├── main.dart                 # App entry point
│   ├── selector.dart             # Choose between customer/vendor
│   ├── customer/                 # Customer App
│   │   ├── customer_main.dart
│   │   ├── app/
│   │   │   ├── app.dart
│   │   │   ├── app_colors.dart
│   │   │   ├── assets_path.dart
│   │   │   └── app_text_styles.dart
│   │   └── features/
│   │       ├── auth/
│   │       ├── home/
│   │       ├── listings/
│   │       ├── products/
│   │       ├── cart/
│   │       ├── checkout/
│   │       ├── orders/
│   │       ├── wishlist/
│   │       └── profile/
│   │
│   ├── vendor/                   # Vendor App
│   │   ├── vendor_main.dart
│   │   ├── app/
│   │   │   ├── app.dart
│   │   │   ├── app_colors.dart
│   │   │   ├── theme_provider.dart
│   │   │   └── locale_provider.dart
│   │   └── features/
│   │       ├── auth/
│   │       ├── dashboard/
│   │       ├── listings_management/
│   │       ├── shop_management/
│   │       ├── messages/
│   │       ├── buy_plan/
│   │       ├── payment_logs/
│   │       ├── withdraw/
│   │       ├── support_tickets/
│   │       └── nav_appbar/
│   │
│   └── common/                   # Shared utilities & widgets
│       └── ui/widgets/
│
├── assets/
│   ├── fonts/
│   ├── icons/
│   └── images/
│
├── android/
├── ios/
├── pubspec.yaml
└── README.md
        
Project Folder Structure

Folder Design Principles

  • Feature-First Architecture: Organized by features, not layers. Easier to scale and maintain.
  • lib/common/: Shared widgets and utilities used by both customer and vendor apps
  • Independent Modules: Customer and vendor code are separate, allowing independent deployment
  • Centralized Assets: All images, icons, and fonts are in assets/

Customer App

The Customer App is a comprehensive Business Listing / Directory Platform where users can discover, search, and interact with business listings.

Customer App Overview

  • Browse & Search: Discover businesses across categories and locations with advanced filtering
  • Listings Details: View complete business information including hours, features, FAQs
  • Wishlist Management: Save favorite listings for later
  • Shop & Cart: Browse products, add to cart, manage quantities
  • Checkout & Payments: Complete purchase flow with order tracking
  • Orders Management: View current and past orders with details
  • User Profile: Manage account, addresses, order history
  • Dark Mode & Multi-Language: Full dark/light theme and language support

Customer App Screens

Authentication (7 screens): Splash, Login, Register, OTP, Password Recovery, Reset, Change Password

Browse & Search (2 screens): Listings List, Listings Details

Products (2 screens): All Products, Product Details

Shopping (3 screens): Shopping Cart, Checkout, Checkout Success

Orders (2 screens): Orders List, Order Details

Other (3 screens): Wishlist, Vendors, User Profile

Vendor App

The Vendor App is a production-ready business management console. Vendors can manage listings, products, orders, payments, and analytics—all from one dashboard.

Vendor App Overview

  • Dashboard & Analytics: Real-time business metrics, monthly charts, visitor tracking
  • Listing Management: Create/edit listings with multi-language, rich text, business hours, FAQs
  • Shop Management: Manage digital and physical products, orders, custom forms
  • Financial Control: Payment history, withdrawal requests, balance tracking
  • Messaging System: Respond to customer inquiries about listings and products
  • Support Tickets: Customer support system for issue resolution
  • Subscription Plans: Browse and purchase upgrade plans
  • Dark Mode & Multi-Language: Full language and theme switching support

Vendor App Screens (37 Total)

Authentication (5): Splash, Login, Signup, Edit Profile, Change Password

Dashboard (1): Analytics with charts, summary tiles, package info

Listings Management (7): Add/Manage Listings, Plugins, Business Hours, Social Links, Features, FAQs

Shop Management (10): Products, Orders, Forms, Digital/Physical Product Forms, Order Details

Messages (3): Listing Messages, Product Messages, Message Details

Plans & Financial (6): Buy Plans, Payment Logs, Invoice, Withdraw Balance, Withdrawal Requests

Support (3): Support Tickets, Add Ticket, Ticket Details

Navigation (2): Email Management, App Home with Navigation

Requirements

To develop, build, or modify the Bulistio Complete Kit, you'll need the following:

Required IDEs

Flutter & Dart Setup

Setup Videos

Install Flutter on Windows

Install Flutter on Mac

Installation

Step-by-Step Installation

  1. Extract the bulistio_complete_kit.zip file
  2. Open in Android Studio or VS Code
  3. Open pubspec.yaml and run pub get (or click "Get Packages")
  4. Verify Flutter 3.30.0+: flutter --version
  5. Connect device/emulator
  6. Click Run or execute flutter run
Installation Screenshot

Flutter Packages

Core UI: flutter_svg, font_awesome_flutter, carousel_slider, flutter_staggered_grid_view, dotted_border

Localization: flutter_localizations, intl, flutter_quill, flutter_html

State Management: provider, shared_preferences

Files & Images: image_picker, file_picker, cached_network_image

Charts: fl_chart, syncfusion_flutter_charts, syncfusion_flutter_sliders

Utilities: dio, logger, share_plus, flutter_launcher_icons

Setup Application

1. Change App Theme & Colors

For Customer App: Edit lib/customer/app/app_colors.dart

For Vendor App: Edit lib/vendor/app/app_colors.dart

const Color primaryColor = Color(0xFF6200EE); // Your brand color

2. Change App Logo & Assets

Edit lib/[customer|vendor]/app/assets_path.dart and update asset references

class AssetsPath { static const String appLogo = 'assets/images/app_logo.png'; static const String smallLogo = 'assets/images/small-logo.png'; }

3. Change App Name

Android: Edit android/app/src/main/AndroidManifest.xml

<application android:label="Your App Name" android:icon="@mipmap/ic_launcher">

iOS: Edit ios/Runner/Info.plist

<key>CFBundleName</key> <string>Your App Name</string>

4. Change App Icons

Update launcher icons in the project directories or use flutter_launcher_icons:

dart run flutter_launcher_icons

5. Customize Text Styles

Edit lib/[customer|vendor]/app/app_text_styles.dart for all typography customization

Build & Run

Running the Application

Using IDE: Select device from dropdown, click Run button

Using Terminal:

flutter run

Debugging Tips:

  • Hot Reload: Press R in terminal to reload changes
  • Hot Restart: Press Shift+R to fully restart
  • Verbose Logging: Use flutter run -v for detailed output
  • Device Logs: Use flutter logs
Run App Screenshot

Build & Publish

Android Release Build

For Play Store (recommended):

flutter build appbundle --target-platform android-arm,android-arm64,android-x64

Or build standalone APK:

flutter build apk --release

iOS Release Build

flutter build ios --release

Signing the App for Play Store

Step 1: Generate Signing Key

keytool -genkey -v -keystore android/app/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

Step 2: Create key.properties

Create android/key.properties:

storePassword=your_keystore_password keyPassword=your_key_password keyAlias=key storeFile=/path/to/key.jks

Step 3: Configure Gradle

Update android/app/build.gradle.kts with signing configuration

Publishing

Google Play Store: https://flutter.dev/docs/deployment/android

Apple App Store: https://flutter.dev/docs/deployment/ios

Build Checklist

  • ✓ Update version in pubspec.yaml
  • ✓ Test release build on actual devices
  • ✓ Update privacy policy and terms
  • ✓ Create app store screenshots
  • ✓ Write compelling description
  • ✓ Test dark mode thoroughly
  • ✓ Verify language support
  • ✓ Test RTL rendering

Support & Resources

Getting Help

📧 For support, questions, or customization requests, contact us via email.

Useful Resources

Troubleshooting

  • Build Issues: Run flutter clean then flutter pub get
  • Plugin Errors: Update iOS pods with cd ios && pod update && cd ..
  • Device Connection: Use adb devices to verify (Android)
  • Flutter Version: Update with flutter upgrade