rx_bloc_cli 5.4.1 copy "rx_bloc_cli: ^5.4.1" to clipboard
rx_bloc_cli: ^5.4.1 copied to clipboard

rx_bloc_cli that enables quick project setup including: flavors, localization [intl], state management [rx_bloc], routing [go_router], design system, analytics [firebase], tests

Rx Bloc CLI #

The Rx Bloc Command Line Interface enables you to quickly create fully functional, feature-rich projects. It comes with pre-built features and capabilities, including sign-up, sign-in, biometric/PIN code authentication, reusable components, localization, multi-factor authentication, notifications, QR scanner, app flavors, and more—so you can jump right into developing your project without delay.


Installing #

dart pub global activate rx_bloc_cli

Included features #

SignUp GIF

Sign Up

The onboarding process begins with users creating an account by providing their email and password. After registration, a confirmation email is sent with a deep link to verify their email address. Users are then prompted to confirm their phone number by entering a One-Time Password (OTP) sent via SMS. This two-step verification ensures secure authentication of both the email and phone number.

Key functionalities:

  • Start the flow by entering an email and password.
  • Verify the email through a deep link.
  • Confirm the phone number via OTP.
  • Resume the flow from the correct step if the app is restarted.
SignUp GIF

Sign In

Easily sign in using your email and password, or choose a social login for quicker access. You can log in with your Apple ID, Facebook, or Google account. If you’ve forgotten your password, simply follow the reset link. Choose the method that’s most convenient for you and get started immediately.

Key functionalities:

  • Authenticate using email and password.
  • Social login options (Apple, Google, Facebook).
Biometrics

Biometrics

Biometric authentication provides users with secure and effortless access. This feature supports fingerprint and facial recognition for enhanced security.

Key functionalities:

  • Supports fingerprint and facial recognition for seamless login.
  • Enhances app security with device-based biometric sensors.
Biometrics

Create PIN Code

PIN codes help protect sensitive actions and provide lock/unlock capabilities for the app. The feature ensures encrypted storage of PIN codes and seamless biometric authentication for added user security.

Key functionalities:

  • The PIN code is securely encrypted and stored.
  • Automatic biometric login when the app restarts and the PIN is stored.
Biometrics

Reusable Components (Widget Toolkit)

The Widget Toolkit package provides a set of customizable UI components designed to enhance productivity and reduce development time. These components offer flexible and efficient solutions for common UI needs.

Key functionalities:

  • Item Picker (Multi-Select): Allows users to select multiple items from a list.
  • Item Picker (Single Select): Enables the selection of a single item.
  • Search Picker: Combines search functionality with item selection for a better user experience.
  • Shimmer Effect: Displays placeholder animations to improve perceived loading times.
  • Launch URL: Facilitates easy linking and URL launching within the app.
  • Error Bottom Sheet: Provides a user-friendly interface for displaying error messages.
  • Text Field Dialog: Offers customizable dialogs with text input fields for various use cases.
Biometrics

Localization

Localization is crucial for building versatile, globally accessible apps with personalized user experiences.

Key functionalities:

  • Seamless integration within widgets: Developers can easily integrate translations.
  • Remote Localization Lookup: Supports fetching remote localizations on app start, allowing dynamic updates without requiring an app release.
Biometrics

MFA (Multi-Factor Authentication)

Multi-Factor Authentication (MFA) enables business representatives to configure required authentication methods, such as PIN/Biometric, OTP, etc., for specific actions like unlocking or changing the password.

Key functionalities:

  • PIN code authentication.
  • Biometric authentication.
  • One-Time Password (OTP).
  • Other authentication methods can be easily integrated.
Biometrics

Notifications

Firebase Cloud Messaging (FCM) integration allows for robust notification management, enhancing user engagement with timely updates and alerts.

Key functionalities:

  • Integrated Firebase Cloud Messaging (FCM): Set up and manage push notifications using Firebase.
  • Notification Settings: Let users enable or disable their notification preferences.
  • Automatic unsubscribe from notifications upon logout.
Biometrics

QR Scanner

Pre-built functionality offers an easy-to-integrate QR scanner widget, enhancing the app’s capabilities with efficient QR code scanning.

Key functionalities:

  • Customizable QR Scanner Widget: Displays a QR scanner with a loading indicator, configurable to return expected values upon successful validation.
  • Camera Permission Handling: Includes functions like showAppCameraPermissionBottomSheet() to prompt users for camera access, ensuring seamless scanning experiences.
  • Error Handling: Provides showQrScannerErrorBottomModalSheet() to display errors encountered during scanning, improving user feedback.
  • Integration with Validation Services: Allows implementation of custom QrValidationService

Commands #

$ rx_bloc_cli create #

Create command

Non-Interactive usage

$ rx_bloc_cli create <output_dir> <parameters> --no-interactive

Interactive usage

$ rx_bloc_cli create <output_dir> --interactive

Create a new project at the given directory with lots of already set-up features out of the box. Customize your project with the following properties:

parameter defaults to description
--project-name Name of directory where the project resides The project name for this new Flutter project. This must be a valid dart package name.
--organisation com.example The organisation name
--[no-]enable-analytics false Enables Firebase Analytics and Crashlytics for the project
--[no-]enable-feature-counter false Enables Counter feature for the project
--[no-]enable-feature-deeplinks false Enables Deep Links showcase flow for the project
--[no-]enable-feature-widget-toolkit false Enables widget_toolkit package showcase feature for the project
--[no-]enable-feature-onboarding true Integrate Onboarding/Registration functionality into our application
--[no-]enable-login true Integrate login with email and password functionality into our application
--[no-]enable-social-logins false Integrate social login with Apple, Google and Facebook functionality into our application
--[no-]enable-change-language true Enables changing of the language for the project
--[no-]enable-remote-translations true Enables remote translation lookup for localizations for the project
--[no-]enable-patrol false Enables patrol package for integration tests for the project
--[no-]realtime-communication none Enables realtime communication facilities for SSE. Values: none, sse.
--[no-]enable-dev-menu true Enables dev menu to easily access proxy debugging services.
--[no-]enable-otp false Enables OTP feature that can help with building sms/pin code workflows.
--[no-]enable-mfa false Enables Multi-Factor Authentication capability for the project.
--[no-]enable-profile true Enables Profile feature for the project
--[no-]interactive false Enables interactive project generation flow flags are read from command line prompts
--[no-]enable-pin-code false Enables pin code feature with biometrics, that can help with building pin code workflows.
--cicd fastlane Provides a template for setting up ci/cd for your project. Available options: none, fastlane, github, codemagic
--[no-]enable-feature-qr-scanner false Enables QR scanner feature for the project

$ rx_bloc_cli create_distribution #

Usage:

rx_bloc_cli create_distribution <output_dir>

Creates a new distribution project for all your deployment and testing credentials, provisioning profiles, certificates, etc.

$ rx_bloc_cli --help #

See the complete list of commands and usage information.

Rx Bloc Command Line Interface

Usage: rx_bloc_cli <command> [arguments]

Global options:
-h, --help       Print this usage information.
-v, --version    Print the current version.

Available commands:
  create				Creates a new project in the specified directory.
  create_distribution	Creates a new distribution project in the specified directory.

Run "rx_bloc_cli help <command>" for more information about a command.

Capabilities? 📦 #

Out of the box, a Rx Bloc CLI created projects includes:

Cross Platform Support - Built-in support for Android, iOS and Web

Build Flavors - Support for multiple flavors (development, staging and production)

Internationalization Support - Support multiple languages in your app just by adding translations and let the generator do the job for you

Sound Null-Safety - With sound null safety support, protect your app from null-dereference exceptions at runtime

rx_bloc - Integrated RxBlocs that help separate business logic from the presentation of the data in a clean, scalable and testable manner

Design system - A single place where you can define all your colors, typography, assets and more. Your app's Light and Dark mode are already configured

Testing - With Unit and Golden Tests you know your app is working as intended.

Static analysis - Strict Lint rules which are used to write quality code

Analytics - (Optional) Firebase analytics that keep track of how your app is used

Push notifications - Receive push notifications and messages to your device using Firebase Cloud Messaging

Http client - Make API calls, download files, send form data and more using a built-in Http client


Extendability #

Rx Bloc Command Line Interface supports extendability with the help of mason templates

28
likes
160
points
211
downloads
screenshot

Publisher

verified publisherprimeholding.com

Weekly Downloads

rx_bloc_cli that enables quick project setup including: flavors, localization [intl], state management [rx_bloc], routing [go_router], design system, analytics [firebase], tests

Homepage
Repository (GitHub)
View/report issues

Topics

#cli #template #codegen #testing #boilerplate

Documentation

API reference

License

MIT (license)

Dependencies

args, collection, flutter_lints, mason, path, xml

More

Packages that depend on rx_bloc_cli