Pular para o conteúdo principal

Quickstart

Pré-requisitos

  • Flutter SDK >= 3.x / Dart SDK >= 3.x
  • Melos instalado globalmente: dart pub global activate melos
  • Windows 10+ ou Chrome

Bootstrap do workspace

git clone https://github.com/isaquepinheiro/developer_friends.git
cd developer_friends
melos bootstrap

Rodando o app principal

# Windows (nativo) — melhor performance para desenvolvimento
cd apps/developer_friends_app
flutter run -d windows --no-pub

# Web (Chrome) — porta fixa
cd apps/developer_friends_app
flutter run -d chrome --web-port 8098 --web-hostname localhost --no-pub --release

Ou via script PowerShell na raiz:

./scripts/run-app.ps1

Exemplo mínimo — nova rotina ERP

O framework reduz a criação de uma rotina a 4 etapas:

1. Metadados:

final minhaConfig = BaseRoutineConfig(
routineId: 'minha_rotina',
title: 'Minha Rotina',
fields: [
FieldMetadata(name: 'nome', label: 'Nome', required: true, maxLength: 100),
FieldMetadata(name: 'codigo', label: 'Código', maxLength: 20),
],
);

2. Repositório:

final meuRepository = InMemoryDataSetRepository(config: minhaConfig);

3. Tela base:

class MinhaRotinaPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BaseListPage(
config: minhaConfig,
repository: meuRepository,
permissions: RoutinePermissions.admin(),
);
}
}

4. Registro no AppComposition:

// lib/app_composition.dart
final routineMap = {
'minha_rotina': (context) => MinhaRotinaPage(),
};

Perfis de permissão

flutter run --dart-define=APP_PERMISSION_PROFILE=admin     # acesso total
flutter run --dart-define=APP_PERMISSION_PROFILE=operator # insert/edit/delete/print
flutter run --dart-define=APP_PERMISSION_PROFILE=viewer # somente leitura

Próximos passos