RapidFire

Rapid Fire

pub package

A comprehensive ORM system for mobile application development. This framework used various popular Dart packages in one place to provide necessary tools support to the developer to build any application at a quick time. To quickly manage initial setup like onboarding, theme, color, style for controls and app background globally, an interface can be implemented under configuration section. It has model annotations for automatic data validation, CRUD and API operations are required no coding and fully automatic. This is a RND initiative in progress, be connected to get the new stable release.

Supported platforms

  • Android 6.0 +
  • ios 8 + (64bit only)

Features

  • Comprehensive ORM system for mobile application development
  • Less Development Time & Developers Friendly
  • Organized Boiler plating
  • Modular Architecture
  • Beautiful & Fast UI Performance
  • Minimize Quality Control Overhead Assuring best UX Experiences
  • Runs Anywhere (Android, iOS)
  • Authentication Ready (App Login, Facebook, Twitter, Google, 2FA and OPT)
  • Zero API and CRUD Code
  • Auto Model Mapping
  • Model Validations
  • Scalable Architecture

Getting started

In the pubspec.yaml of your flutter project, add the following dependency:

dependencies:
  ...
  rapidfire: "^0.0.1-alpha.1.1"
  flutter_localizations:
    sdk: flutter
dev_dependencies:
  ...
 build_runner: "^1.0.0"

In your library add the following import:

import 'package:rapidfire/RapidFire.dart';

For help getting started with Flutter, view the online documentation.

Example

In the main function, implement the RapidFire class providing a AppConfig and initializeReflectable method. initializeReflectable will show error initially, run **flutter packages pub run build_runner build ** in Terminal to eliminate this. This will generate model reflection objects for your application.

void main() {
  RapidFire(
    AppConfig(),
    initializeReflectable,
  );
}

To quick start, download StartupMini.zip/ StartupFat.zip from HERE. Copy assets folder and build.yaml file in project root folder. Copy config, models, pages and validator folder in lib folder to your project lib directory. Press Alt + Enter for necessary library import. Include asset and fonts in your pubspec.yaml. In Terminal, run "flutter packages pub run build_runner build" to generate existing model reflection. Finally, start work on Home.dart page and extend your application as per clients and business requirements.

  assets:
    - assets/language/lang_en.json
    - assets/language/lang_es.json
    - assets/images/
    - assets/images/intro/
    - assets/design_course/
    - assets/fitness_app/
    - assets/hotel/
	
  fonts:
    - family: Berlin Sans FB Demi Bold
      fonts:
          - asset: assets/fonts/Berlin-Sans-FB-Demi-Bold.ttf

    - family: Raleway
      fonts:
        - asset: assets/fonts/raleway.thin.ttf
        - asset: assets/fonts/Raleway-Bold.ttf
          weight: 300

    - family: icomoon
      fonts:
        - asset: assets/fonts/IcoMoon.ttf

Take a Stateful Widget class (ex. Home.dart) and return the PageRF in build section, will display a complete page (flutter scaffold). You can adjust named parameters to control the page behavior like AppBar, Drawer, Actions, colors, theme etc. A basic page looks like:

return PageRF(
      title: 'My App 1.0',
      body: Container(
        child: Center(child: Text('Welcome to Rapid Fire!')),
        color: Colors.red,
      ),
);

Rapid Fire has 44 Widgets to provide best quality UI/UX. Complete documentation for widgets are in progress and will be uploaded gradually in this section. A typical PageRF widgets looks like:

PageRF({
    this.title,
    this.outline,
    this.model,
    this.flex,
    this.stickyHeader,
    this.body,
    this.fab,
    this.fabEx,
    this.filter,
    this.onBack,
    this.backgroundColor,
    this.disabledPageScroll = false,
    this.osBarColors,
    this.template,
  });

Preview

Concept Documents

  • Context, Project Structure & Implementation Diagram: documentation

Author

Rokybul Imrose - Initial work and overall architecture

Feel free to contract

rbimrose@gmail.com

License

License: GPL v3

Libraries

AccessControl
Annotation
Api
BackgroundMain
BGHelperDB
BGSyncSMain
Channel
Config
Const
ContentPost
DatabaseHelper
Db
Dynamic
Extensions
GlobalRF
GlobalScopeRF
http/HttpServerRF
JobRF
JobRunnerRF
LocalizationProviderRF
LocalizationRF
models/AppUser
models/BaseModel
models/CMI
models/Login
models/ModelDefaults
models/Quiz
models/SynFetchModels
NotificationRF
RapidFire
RapidFireOld
Rdb
RestartRF
scorm/ScormRF
StackRF
store/modern/config/AppLayout
store/modern/config/defaults/StoreOutlineDefaults
store/modern/dashboard/colors
store/modern/dashboard/DashBoard
store/modern/dashboard/piechart
store/modern/dashboard/piechartcustompainter
store/modern/dashboard/size
store/modern/dashboard/strings
store/modern/onboarding/auth_page
store/modern/onboarding/HomeRF
store/modern/onboarding/InitialDownload
store/modern/onboarding/InternetUsage
store/modern/onboarding/Intro
store/modern/onboarding/Language
store/modern/onboarding/Login
store/modern/onboarding/Otp
store/modern/onboarding/OtpOLD
store/modern/onboarding/Setup
store/modern/onboarding/Splash
store/modern/others/QuizEngine
store/modern/others/QuizRF
store/modern/setting/ChangePassword
store/modern/setting/ForgetPassword
store/ref/app_theme
store/ref/custom_drawer/drawer_user_controller
store/ref/custom_drawer/home_drawer
store/ref/design_course/category_list_view
store/ref/design_course/course_info_screen
store/ref/design_course/design_course_app_theme
store/ref/design_course/home_design_course
store/ref/design_course/models/category
store/ref/feedback_screen
store/ref/fitness_app/bottom_navigation_view/bottom_bar_view
store/ref/fitness_app/fintness_app_theme
store/ref/fitness_app/fitness_app_home_screen
store/ref/fitness_app/models/meals_list_data
store/ref/fitness_app/models/tabIcon_data
store/ref/fitness_app/my_diary/meals_list_view
store/ref/fitness_app/my_diary/my_diary_screen
store/ref/fitness_app/my_diary/water_view
store/ref/fitness_app/traning/training_screen
store/ref/fitness_app/ui_view/area_list_view
store/ref/fitness_app/ui_view/body_measurement
store/ref/fitness_app/ui_view/glass_view
store/ref/fitness_app/ui_view/mediterranesn_diet_view
store/ref/fitness_app/ui_view/running_view
store/ref/fitness_app/ui_view/title_view
store/ref/fitness_app/ui_view/wave_view
store/ref/fitness_app/ui_view/workout_view
store/ref/help_screen
store/ref/home_screen
store/ref/hotel_booking/calendar_popup_view
store/ref/hotel_booking/custom_calendar
store/ref/hotel_booking/filters_screen
store/ref/hotel_booking/hotel_app_theme
store/ref/hotel_booking/hotel_home_screen
store/ref/hotel_booking/hotel_list_view
store/ref/hotel_booking/model/hotel_list_data
store/ref/hotel_booking/range_slider_view
store/ref/hotel_booking/slider_view
store/ref/invite_friend_screen
store/ref/main
store/ref/model/homelist
store/StoreRF
style/Theme
SystemRF
uiux/AlertRF
uiux/apitest
uiux/DialogRF
uiux/DrawerRF
uiux/intro/Animation_Gesture/animated_page_dragger
uiux/intro/Animation_Gesture/page_dragger
uiux/intro/Animation_Gesture/page_reveal
uiux/intro/Clipper/circular_reveal_clipper
uiux/intro/Constants/constants
uiux/intro/intro_views_flutter
uiux/intro/Models/page_bubble_view_model
uiux/intro/Models/page_button_view_model
uiux/intro/Models/page_view_model
uiux/intro/Models/pager_indicator_view_model
uiux/intro/Models/slide_update_model
uiux/intro/UI/page
uiux/intro/UI/page_bubble
uiux/intro/UI/page_indicator_buttons
uiux/intro/UI/pager_indicator
uiux/PlaceHolderRF
uiux/RipplesRF
uiux/searchable_dropdown
uiux/StyleRF
uiux/swl/cancel
uiux/swl/confirm
uiux/swl/success
uiux/swl/sweetalert
uiux/TableRF
uiux/TextFormFieldRF
uiux/widgets/AnimatedContainerRF
uiux/widgets/ButtonRF
uiux/widgets/FieldRowRF
uiux/widgets/FileDownloadRF
uiux/widgets/GridViewRF
uiux/widgets/GridViewRF1
uiux/widgets/ListViewRF
uiux/widgets/ListViewSliderRF
uiux/widgets/PageViewSliderRF
uiux/widgets/SocialRF
uiux/widgets/SocialRF-old
uiux/widgets/SyncFetchRF
uiux/widgets/TabRF
uiux/WidgetsRF
uiux/WidgetStylesRF
util/FileRF
util/ZipFileRF
UtilRF
ValidationRF
zold/ApiX
zold/counter
zold/counter_service
zold/login_screen_3
zold/ProfileMasterForm
zold/SystemRFOLD