đ ïž ODS Kit CLI
Un kit de dĂ©marrage modulaire pour projets Flutter & Dart, avec un gĂ©nĂ©rateur de code en ligne de commande, des helpers prĂȘts Ă lâemploi, et une structure basĂ©e sur le Clean Architecture.
Compatible CLI pur (Dart-only), sans dépendance Flutter obligatoire.
⚠Fonctionnalités
- đ GĂ©nĂ©rateur de features/pages/cubits via CLI
- đ Gestion du chiffrement avec injection de stockage sĂ©curisĂ© (
SecureStore) - đ§ Helpers rĂ©utilisables (
String,Date,Validation,File) - đŠ Compatible avec
fpdartetEither<Failure, Success> - đ§Ș PrĂȘt pour les tests et lâintĂ©gration continue
đŠ Installation
Ajoutez Ă votre projet :
dependencies:
ods_kit_cli:
git:
url: https://github.com/votre-utilisateur/ods_kit_cli.git
đ BientĂŽt disponible sur pub.dev
âïž Utilisation CLI
Générer une feature :
dart run flutter_feature add feature client
Ajouter une page Ă une feature :
dart run flutter_feature add page client detail
Ajouter un cubit :
dart run flutter_feature add cubit client loading
đ RĂ©sultat :
lib/features/client/
âââ data/
â âââ datasources/
â âââ models/
â âââ repositories/
âââ domain/
â âââ entities/
â âââ repositories/
âââ presentation/
âââ bloc/
âââ pages/
âââ widgets/
đ Chiffrement avec Encryption
final encryption = Encryption(
InMemorySecureStore(),
encryptionKeyKey: 'realm_key',
passwordKey: 'password_key',
);
final encrypted = await encryption.encryptPassword('secret123');
final decrypted = await encryption.decryptPassword(encrypted);
đšâđ§ ImplĂ©mentation par dĂ©faut fournie : InMemorySecureStore.
𧰠Utilitaires intégrés
Validation
ValidationHelper.isValidEmail('test@mail.com');
ValidationHelper.isRequired('valeur');
Helpers
StringHelper.capitalize("test")NumberHelper.toFixed(3.14159, 2)DateHelper.format(DateTime.now())FileHelper.readFile(path)
đ Architecture
Basé sur Clean Architecture :
feature/
âââ data/
âââ domain/
âââ presentation/
đ Exemples de cas d'utilisation
class GetUser implements UseCase<User, IdParams> {
final UserRepository repository;
GetUser(this.repository);
@override
Future<Either<Failure, User>> call(IdParams params) {
return repository.getById(params.id);
}
}
â Ă venir
Générateur de usecases automatiquesSupport des tests unitaires pour chaque générationPlugin VSCode / CLI interactif
đ Licence
đšâđ» Auteur
Développé par Youdev