Configuração do Ambiente - CAKeysama/ReTool GitHub Wiki
Configuração do Ambiente
Todos os comandos abaixo rodam dentro da pasta retool/, salvo indicação.
Pré-requisitos
| Ferramenta | Versão | Para quê |
|---|---|---|
| Node.js | 22 (é o engines das Cloud Functions; o projeto foi validado com 22.17) |
App, testes e funções |
| npm | o que acompanha o Node.js | Dependências |
| Git | qualquer recente | Código |
| Java (JDK) | 11 ou superior | Somente para os emuladores do Firebase (testes de regras e funções, desenvolvimento offline) |
| Acesso ao projeto Firebase | conta com permissão no projeto que o app usa | Rodar contra dados reais e fazer deploy |
O Firebase CLI não precisa ser instalado globalmente: ele é dependência de desenvolvimento e é usado como npx firebase-tools.
Instalação
git clone https://github.com/CAKeysama/ReTool.git
cd ReTool/retool
npm install
As dependências das Cloud Functions ficam em retool/functions/. O script dos emuladores instala essas dependências sozinho quando necessário; para instalar manualmente:
npm --prefix functions install
Variáveis de ambiente
O app lê a configuração do Firebase de um arquivo retool/.env, que não é versionado (está no .gitignore). Use retool/.env.example como modelo:
cp .env.example .env
| Variável | Uso |
|---|---|
VITE_USE_FALLBACK_DB |
true usa o projeto de fallback; qualquer outro valor usa o principal |
VITE_FIREBASE_API_KEY, VITE_FIREBASE_AUTH_DOMAIN, VITE_FIREBASE_PROJECT_ID, VITE_FIREBASE_STORAGE_BUCKET, VITE_FIREBASE_MESSAGING_SENDER_ID, VITE_FIREBASE_APP_ID, VITE_FIREBASE_MEASUREMENT_ID |
Configuração web do projeto principal |
VITE_FIREBASE_FALLBACK_* (mesmos sufixos) |
Configuração web do projeto de fallback |
VITE_USE_FIREBASE_EMULATORS |
true conecta aos emuladores locais. Definida em .env.emulador (versionado); não coloque no .env |
Os valores ficam no Firebase Console → Configurações do projeto → Seus apps → Configuração do SDK. Exemplo com placeholders:
VITE_USE_FALLBACK_DB=false
VITE_FIREBASE_API_KEY=seu_valor_aqui
VITE_FIREBASE_AUTH_DOMAIN=seu-projeto.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=seu-projeto
VITE_FIREBASE_STORAGE_BUCKET=seu-projeto.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=seu_valor_aqui
VITE_FIREBASE_APP_ID=seu_valor_aqui
VITE_FIREBASE_MEASUREMENT_ID=seu_valor_aqui
As variáveis VITE_* entram no pacote do navegador durante o build. A configuração web do Firebase não dá acesso sozinha; quem protege os dados são as regras (ver Segurança). Ainda assim, o .env não deve ser versionado.
Projetos Firebase
O arquivo .firebaserc define dois aliases:
| Alias | Projeto | Variáveis usadas pelo app |
|---|---|---|
default |
retool-c25a9 |
VITE_FIREBASE_* |
fallback |
retool2-ef7be |
VITE_FIREBASE_FALLBACK_* (quando VITE_USE_FALLBACK_DB=true) |
⚠️ Regras, índices e funções precisam ser publicados no mesmo projeto que o
.envfaz o app usar. Se o.envestiver comVITE_USE_FALLBACK_DB=true, use--project fallbacknos comandos de deploy. Ver Build e Deploy.
Execução local
Contra o Firebase real
npm run dev
O Vite abre em http://localhost:5173. O app usa o projeto definido no .env, com os dados e as contas reais.
Contra os emuladores (sem tocar em dados reais)
Use dois terminais:
# terminal 1 — sobe Auth, Firestore, Functions e Storage locais (compila as funções antes)
npm run emuladores
# terminal 2, com os emuladores no ar (uma vez por execução): cria contas de demonstração
node scripts/semearEmulador.mjs
# terminal 2 — o app apontando para os emuladores
npm run dev:emuladores
- Os emuladores usam o projeto
demo-retool, que não existe na nuvem. - As contas de demonstração (uma da Administração e uma da Engenharia) e as senhas delas estão definidas em
scripts/semearEmulador.mjse só existem no emulador. - Os dados dos emuladores se perdem quando eles param.
| Emulador | Porta |
|---|---|
| Authentication | 9099 |
| Firestore | 8181 |
| Functions | 5001 |
| Storage | 9199 |
| Hub | 4400 |
Primeira conta de Administração
Não existe administrador com credenciais fixas. A primeira conta admin é promovida manualmente no Console: veja Usuários, Cargos e Permissões → Primeira conta de Administração.
Próximos passos
- Testes: como validar o ambiente.
- Build e Deploy: como publicar.
- Solução de Problemas: erros comuns na configuração.