BowlerPlate
Features

Help Center

2/19/2026

Comprehensive guide to the Help Center and Support features in the Flutter application.

The Help Center is a centralized support hub designed to assist users with common issues, provide direct contact channels, and collect user feedback. It is built to be dynamic, fetching the latest support information and FAQs from the backend.

Documentation Overview

The Help Center is structured into several specialized sections, each accessible from the main Help Center dashboard.

1. Main Dashboard

The entry point (lib/pages/settings/help_center/page.dart) provides a high-level overview of support resources.

  • Intelligent Search: A prominent search bar that allows users to quickly find answers by redirecting them to the FAQ system with focus.
  • Quick Assistance Cards: Large, accessible buttons for jumping to FAQs, Contact Us, or the Feedback form.
  • Popular Topics: A dynamic list of the most frequently asked questions for immediate resolution.
  • Operating Hours: Display of business hours and availability, clearly indicating open and closed status for each day.

2. Frequently Asked Questions (FAQs)

Managed by lib/pages/settings/help_center/faqs_page.dart.

The FAQ system is designed for high-performance information retrieval:

  • Category Filtering: Users can filter questions by categories such as General, Account, Technical, Billing, and Product.
  • Real-time Search: Search queries instantly filter the list of available FAQs.
  • Accordion Interface: Expandable cards provide clean, readable answers without cluttering the UI.
  • Infinte Scrolling: Supports large sets of data through pagination and efficient state management.

3. Contact Us

Managed by lib/pages/settings/help_center/contact_us_page.dart.

Provides direct communication channels with the support team:

  • Direct Integration: Supports immediate actions for various communication types:
    • WhatsApp: Opens a direct chat window with the support number.
    • Email: Pre-configures a message in the user's default email client.
    • Phone: Initiates a phone call to the support hotline.
    • Location: Opens Google Maps or the default map provider with the support office address.
  • Clipboard Fallback: If a communication app isn't installed, the application automatically copies the contact details to the user's clipboard for manual use.

4. Feedback & Bug Reporting

Managed by lib/pages/settings/help_center/feedback_page.dart.

A structured way for users to provide input or report issues:

  • Categorization: Users must select the nature of their feedback (General, Bug, Feature Request, or Other).
  • Rich Input: Supports detailed subjects and long-form message descriptions.
  • Star Rating: An optional 5-star rating system to gauge overall user satisfaction.
  • Submission Tracking: Real-time feedback on submission status (Submitting, Success, or Error) with localized snackbar alerts.

Technical Details

Providers & Data Flow

The Help Center uses several Riverpod providers to manage its state:

  • helpCenterDataProvider: Fetches the initial dashboard data (popular FAQs, contacts, hours).
  • faqListProvider: Manages the state for the full FAQ list, including searching, filtering, and pagination.
  • feedbackSubmissionProvider: Handles the asynchronous logic for submitting feedback to the server.

Localization

All labels, hints, and success messages are managed via AppLocalizations, ensuring the support experience is accessible to all users regardless of their language preference.

// Example: Accessing Help Center translations
final l10n = AppLocalizations.of(context);
print(l10n.howCanWeHelp);

Best Practices

  1. Dynamic Hours: Always use the OperatingHours model from the provider to ensure the "Closed" or "Open" status reflects current server-time logic.
  2. Contact Cleaning: When launching phone or WhatsApp URLs, the app automatically sanitizes input using regex to remove non-numeric characters.
  3. Feedback Validation: The system enforces minimal character counts (e.g., 10 characters for messages) to ensure high-quality feedback.

On this page