chaotic helper
- Create A Project Structure
- Create Translation System
- Create Screens.
- Create Services.
- Create Widgets.
- Create Models.
- Create Commons.
- Create Assets.
- Create Local Models.
- Create Local Widget.
- Github automation.
Create A Project Structure
src Folder

Asset Folder

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

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
}