Ambiente local¶
Pré-requisitos¶
- Flutter/Dart compatível com
sdk: ^3.10.7. - Node.js 22, conforme
functions/package.json. - Firebase CLI.
- Melos 7.x.
- Java/Android SDK ou toolchain da plataforma Flutter que será executada.
Bootstrap do workspace¶
Na raiz do repositório:
O melos.yaml fornece os comandos comuns:
melos run analyze executa flutter analyze --no-pub em cada package; melos run test executa flutter test.
Firebase Emulator Suite¶
A configuração raiz usa estas portas:
| Serviço | Porta |
|---|---|
| Auth | 9099 |
| Functions | 5001 |
| Firestore | 8081 |
| Realtime Database | 9000 |
| Storage | 9199 |
| Emulator UI | padrão da CLI |
Para o backend:
Para popular o ambiente de desenvolvimento, existe npm run seed. O script cria dados de teste; consulte o próprio script em vez de registrar senhas ou credenciais na documentação.
Não aponte testes destrutivos para produção
Os testes e seeds devem usar emuladores ou um projeto explicitamente descartável. Não execute backfills, seeds ou suítes com escrita contra o projeto de produção.
App principal em desenvolvimento¶
O bootstrap do app resolve dev ou prod e carrega .env.dev ou .env.prod. Para desenvolvimento:
Quando USE_FIREBASE_EMULATOR=true e o build está em debug, o app conecta Auth, Firestore, Functions e Storage aos hosts/portas informados no arquivo de ambiente.
Em emulador Android, o host do computador costuma ser alcançado por 10.0.2.2; em desktop/web, normalmente 127.0.0.1 ou localhost é apropriado. A escolha deve corresponder ao ambiente real.
Super Admin Web¶
O painel aceita --dart-define=USE_FIREBASE_EMULATOR=true:
Em modo de emulador, o entrypoint aponta Auth 9099, Firestore 8081, Functions 5001 e Storage 9199 para localhost.
Waiter Desktop/Web¶
O host e as portas podem ser alterados com FIREBASE_EMULATOR_HOST, AUTH_EMULATOR_PORT, FIRESTORE_EMULATOR_PORT e FUNCTIONS_EMULATOR_PORT via --dart-define.
Backend isolado¶
A suíte padrão ignora functions/tests/emulator/. Para os testes que dependem de Firestore Emulator: