chaotic helper

Flutter Helper Tool To :

  1. Create A Project Structure
  2. Create Translation System
  3. Create Screens.
  4. Create Services.
  5. Create Widgets.
  6. Create Models.
  7. Create Commons.
  8. Create Assets.
  9. Create Local Models.
  10. Create Local Widget.
  11. Github automation.

Create A Project Structure

src Folder

image

Asset Folder

image

Main.dart

import 'package:bot_toast/bot_toast.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:provider/provider.dart';
import 'package:sizer/sizer.dart';
import 'src/screen/screens.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await EasyLocalization.ensureInitialized();

  Provider.debugCheckInvalidValueType = null;
  preventLandScapeMode();

  runApp(
    EasyLocalization(
      supportedLocales: const [
        Locale('en'),
        Locale('ar'),
      ],
      path: 'assets/lang',
      fallbackLocale: const Locale('en'),
      child: MyApp(),
    ),
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Sizer(
      builder: (context, orientation, deviceType) => GetMaterialApp(
        builder: BotToastInit(),
        navigatorObservers: [BotToastNavigatorObserver()],
        localizationsDelegates: context.localizationDelegates,
        supportedLocales: context.supportedLocales,
        locale: context.locale,
        theme: ThemeData(
          pageTransitionsTheme: const PageTransitionsTheme(
            builders: {
              TargetPlatform.android: CupertinoPageTransitionsBuilder(),
              TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
            },
          ),
        ),
        // home: Provider(create: (_) => ,
        //   child:,
        // ),
      ),
    );
  }
}

Create Screens.

create a bin folder first to run this commands

image

import 'package:chaotic_helper/init.dart';

Future<void> main() async {
  //new screen
  await Chaotic.newScreen('home');
  //new service
  await Chaotic.newService('dio');
  //new widget
  await Chaotic.newWidget('custom_button');
  //new model
  await Chaotic.newModel('user');
  //new common
  await Chaotic.newCommon('helpers');
  //new asset
  await Chaotic.newAsset('home'); //will create folder => asset/images/home
  //new local model
  await Chaotic.newLocalModel('driver',
      'home'); //create driver model in src/screen/home/local_model/driver.dart
  //new local widget
  await Chaotic.newLocalWidget('custom_text','home'); //create custom_text widget in src/screen/home/local_widget/custom_text.dart
}

Libraries

backend
init