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

AlertRF
Annotation
Api
AppLayout
AppUser
Channel
Config
Configuration
Db
DialogRF
DrawerRF
Dynamic
Extensions
GlobalRF
GlobalScopeRF
HomeRF
Intro
Language
LocalizationProviderRF
LocalizationRF
Login
NotificationRF
Otp
ProfileMasterForm
RapidFireApp
RestartRF
RipplesRF
Setup
Splash
StoreRF
StyleRF
SystemRF
TextFieldRF
TextFormFieldRF
TextRF
Theme
UtilRF
ValidationRF
WidgetStyle
WidgetStylesRF
WidgetsRF
animated_page_dragger
apitest
app_theme
area_list_view
auth_page
body_measurement
bottom_bar_view
calendar_popup_view
cancel
category
category_list_view
circular_reveal_clipper
confirm
constants
course_info_screen
custom_calendar
design_course_app_theme
drawer_user_controller
feedback_screen
filters_screen
fintness_app_theme
fitness_app_home_screen
glass_view
help_screen
home_design_course
home_drawer
home_screen
homelist
hotel_app_theme
hotel_home_screen
hotel_list_data
hotel_list_view
intro_views_flutter
invite_friend_screen
login_screen_3
main
meals_list_data
meals_list_view
mediterranesn_diet_view
my_diary_screen
page
page_bubble
page_bubble_view_model
page_button_view_model
page_dragger
page_indicator_buttons
page_reveal
page_view_model
pager_indicator
pager_indicator_view_model
range_slider_view
rapidfire
running_view
slide_update_model
slider_view
success
sweetalert
tabIcon_data
title_view
training_screen
water_view
wave_view
workout_view