generateArchitecture function
void
generateArchitecture()
Scaffolds the full Clean Architecture core layer inside lib/core/.
Creates every standard sub-directory and writes a starter .dart file
into each one so the directories are never empty.
Implementation
void generateArchitecture() {
logInfo("Initializing Clean Architecture...");
createDirectoryWithFile("lib/core/app", "main_app.dart", mainAppTemplate);
createDirectoryWithFile(
"lib/core/config",
"app_config.dart",
appConfigTemplate,
);
createDirectoryWithFile(
"lib/core/constants",
"app_constants.dart",
appConstantsTemplate,
);
createDirectoryWithFile(
"lib/core/data/datasources/local",
"local_datasource.dart",
localDatasourceTemplate,
);
createDirectoryWithFile(
"lib/core/data/datasources/remote",
"remote_datasource.dart",
remoteDatasourceTemplate,
);
createDirectoryWithFile(
"lib/core/data/repositories",
"base_repository.dart",
baseRepositoryTemplate,
);
createDirectoryWithFile(
"lib/core/database",
"app_database.dart",
appDatabaseTemplate,
);
createDirectoryWithFile(
"lib/core/date_picker",
"app_date_picker.dart",
appDatePickerTemplate,
);
createDirectoryWithFile(
"lib/core/di",
"injection_container.dart",
injectionContainerTemplate,
);
createDirectoryWithFile("lib/core/errors", "failures.dart", failuresTemplate);
createDirectoryWithFile(
"lib/core/errors",
"exceptions.dart",
exceptionsTemplate,
);
createDirectoryWithFile(
"lib/core/locations",
"location_service.dart",
locationServiceTemplate,
);
createDirectoryWithFile(
"lib/core/models",
"base_model.dart",
baseModelTemplate,
);
createDirectoryWithFile(
"lib/core/navigation",
"app_navigator.dart",
appNavigatorTemplate,
);
createDirectoryWithFile(
"lib/core/network",
"network_info.dart",
networkInfoTemplate,
);
createDirectoryWithFile(
"lib/core/network/interceptors",
"auth_interceptor.dart",
authInterceptorTemplate,
);
createDirectoryWithFile(
"lib/core/platform",
"platform_info.dart",
platformInfoTemplate,
);
createDirectoryWithFile(
"lib/core/router",
"app_router.dart",
appRouterTemplate,
);
createDirectoryWithFile(
"lib/core/security",
"security_service.dart",
securityServiceTemplate,
);
createDirectoryWithFile(
"lib/core/services",
"api_service.dart",
apiServiceTemplate,
);
createDirectoryWithFile(
"lib/core/services",
"app_update_service.dart",
appUpdateServiceTemplate,
);
createDirectoryWithFile(
"lib/core/shared/widgets",
"custom_button.dart",
customButtonTemplate,
);
createDirectoryWithFile(
"lib/core/storage",
"local_storage.dart",
localStorageTemplate,
);
createDirectoryWithFile(
"lib/core/sync",
"sync_manager.dart",
syncManagerTemplate,
);
createDirectoryWithFile("lib/core/theme", "app_theme.dart", appThemeTemplate);
createDirectoryWithFile(
"lib/core/utils",
"extensions.dart",
extensionsTemplate,
);
createDirectoryWithFile(
"lib/core/validation",
"form_validators.dart",
formValidatorsTemplate,
);
createDirectory("lib/features");
logSuccess("Clean architecture initialized.");
}