CarList Complete UI Documentation

This documentation is updated from the current Flutter project in carlist_complete_ui. The app is a single codebase with a selector entry and two modules: customer and vendor.

The main launcher starts at lib/main.dart, opens lib/selector.dart, and routes users into either Carlist (customer) or CarlistVendor (vendor).

Entry Points

  • lib/main.dart - default launcher with selector.
  • lib/selector.dart - choose Customer or Vendor flow.
  • lib/customer/main.dart - launch customer module directly.
  • lib/vendor/main.dart - launch vendor module directly.

Scope of this document

  • Real folder structure and module architecture from current source code.
  • Current screen inventory for customer and vendor modules.
  • Actual package list from pubspec.yaml.
  • Setup, run, and release steps for this combined Flutter project.

Project Structure

The complete app uses one Flutter root and shared assets. Business logic and UI are split under lib/customer and lib/vendor.

carlist_complete_ui/
|- android/
|- ios/
|- assets/
|  |- fonts/Inter/
|  |- icons/
|  \- images/
|- lib/
|  |- main.dart
|  |- selector.dart
|  |- customer/
|  |  |- main.dart
|  |  |- app/
|  |  \- features/
|  \- vendor/
|     |- main.dart
|     |- app/
|     |- core/navigation/app_routes.dart
|     \- features/
|- pubspec.yaml
|- analysis_options.yaml
\- test/
        

Shared project level

  • One dependency file: pubspec.yaml.
  • One asset system under assets/.
  • One Android and iOS platform setup for both modules.

Selector flow

  • Selector sends customer users to Carlist.
  • Vendor route initializes ThemeProvider and LocaleProvider before loading CarlistVendor.
  • Selector design and labels are defined directly in lib/selector.dart.

Customer module

  • lib/customer/app contains colors, theme, assets, and app shell.
  • lib/customer/features contains auth, listings, products, cart, checkout, orders, support, profile, and more.
  • Customer app starts at splash via Carlist.

Vendor module

  • lib/vendor/app manages theme mode and locale persistence.
  • lib/vendor/core/navigation/app_routes.dart defines vendor routes.
  • lib/vendor/features includes dashboard, cars, plans, payment logs, and support tickets.

Structure

Customer Project Structure

Customer Module

The customer app shell is lib/customer/app/carlist.dart. It uses a light theme and launches the customer splash screen first.

Feature Folders

  • auth, bottom_nav, cart, categories, checkout, home, listings, notifications, orders, products, profile, support, vendors, wishlsits.
  • Note: the current folder name in source is wishlsits (as-is in project).

Customer Screens (Total: 28)

AUTH (7)

  • Change Password
  • Forget Password
  • Login
  • OTP
  • Register
  • Reset Password
  • Splash

NAVIGATION & HOME (3)

  • Bottom Navigation
  • Home
  • Notifications

LISTINGS & CATALOG (6)

  • Cars Listings
  • Listing Details
  • Categories
  • Products
  • Product Details
  • Wishlist

PURCHASE FLOW (5)

  • Cart
  • Checkout
  • Order Success
  • Orders
  • Order Details

ACCOUNT & SUPPORT (7)

  • Dashboard
  • Edit Profile
  • Profile
  • Support Tickets
  • Ticket Details
  • Vendors
  • Vendor Details

Customer Branding Reference

Customer Branding Assets

Vendor Module

The vendor app shell is lib/vendor/app/app.dart. It supports light/dark mode, locale switching, and RTL handling through providers and saved preferences.

Vendor Highlights

  • Theme persistence with ThemeProvider.
  • Locale and RTL support with LocaleProvider.
  • Named route navigation through AppRoutes.onGenerateRoute.
  • Business flows for cars, plans, payments, and support tickets.

Vendor Screens (Total: 15)

AUTH (5)

  • Change Password
  • Edit Profile
  • Login
  • Signup
  • Splash

CORE BUSINESS (7)

  • Dashboard
  • App Home
  • Add Car
  • Manage Cars
  • Buy Plan
  • Plan Payment
  • Payment Logs

SUPPORT (3)

  • All Support Tickets
  • Add Support Ticket
  • Support Ticket Details

Requirements

Use current Flutter SDK compatible with Dart ^3.11.4 (as defined in pubspec.yaml).

  • Android Studio or VS Code with Flutter and Dart plugins.
  • Android SDK and/or Xcode setup depending on your target platform.
  • Connected device or emulator/simulator.

Installation

  • Open the Flutter root folder: carlist_complete_ui.
  • Run dependency install from project root:
flutter pub get

Launch Options

Selector flow

flutter run -t lib/main.dart

Customer only

flutter run -t lib/customer/main.dart

Vendor only

flutter run -t lib/vendor/main.dart

Flutter Packages (Current)

SDK dependencies

flutter (sdk)

flutter_localizations (sdk)

Direct dependencies from pubspec.yaml

flutter_html: ^3.0.0

flutter_quill: ^11.5.0

flutter_svg: ^2.2.3

image_picker: ^1.2.1

font_awesome_flutter: ^10.12.0

fl_chart: ^1.0.0

syncfusion_flutter_charts: ^30.1.42

syncfusion_flutter_core: ^30.1.42

syncfusion_flutter_sliders: ^30.1.42

dotted_border: ^3.1.0

intl: ^0.20.2

flutter_launcher_icons: ^0.14.4

file_picker: ^10.3.2

provider: ^6.1.2

shared_preferences: ^2.3.4

pinput: ^6.0.1

carousel_slider: ^5.1.1

lottie: ^3.3.2

flutter_staggered_grid_view: ^0.7.0

Setup Application

App Name

Android: edit android/app/src/main/AndroidManifest.xml and update android:label.

iOS: edit ios/Runner/Info.plist and update CFBundleName/CFBundleDisplayName.

Launcher Icons

  • Replace icon assets in assets/icons/.
  • Current icon config is already in pubspec.yaml.
  • Regenerate icons:
dart run flutter_launcher_icons

Brand Assets and Theme

  • Selector branding: lib/selector.dart.
  • Customer theme and colors: lib/customer/app/app_theme_data.dart, lib/customer/app/app_colors.dart.
  • Vendor theme and dark mode: lib/vendor/app/theme_data.dart, lib/vendor/app/theme_provider.dart.
  • Vendor language and RTL: lib/vendor/app/locale_provider.dart.

Build & Run App

  • Select emulator/device and run any target entry point.
  • Use selector launch for QA across both modules.
  • Use module-specific launch targets for focused development.

Run selector

flutter run -t lib/main.dart

Run customer

flutter run -t lib/customer/main.dart

Run vendor

flutter run -t lib/vendor/main.dart

Vendor run reference

Vendor Run App Screenshot

Build Release & Publish App

Build release artifacts from the Flutter project root after app name, package identifiers, icons, and signing are configured.

Android APK

flutter build apk --release

Android App Bundle (Play Store)

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

Split APK by ABI

flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi

Signing key

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

Then configure release signing in Android gradle files and follow official publishing guides:

Support

For product support and customization requests, use your package provider support channel. This page documents the current combined CarList Flutter codebase.