Este é o sistema de gestão de colaboradores e times da Flugo. Ele foi construído com foco em resiliência e facilidade de manutenção, usando uma arquitetura limpa que separa bem as regras de negócio da infraestrutura técnica.
Demo online: https://flugo-employees-theta.vercel.app
Preview em GIF: https://flugo-employees-theta.vercel.app/media/demo-flugo.gif
- React 19 + TypeScript: O core da aplicação com a última versão do React.
- Material UI v7: Toda a interface visual e componentes de UI.
- Firebase (Auth + Firestore): Controle de acesso e banco de dados em tempo real.
- TanStack Query v5: Gerenciamento inteligente de estado e cache de dados.
- Clean Architecture: Código organizado em camadas (Domínio, Aplicação, Infra e Apresentação).
- Service Workers: Estratégias avançadas de caching e sincronização de dados em segundo plano.
Primeiro, clone o repositório e instale as dependências:
npm installVocê vai precisar de um arquivo .env.local na raiz do projeto. Use o .env.example como base e preencha com as suas chaves do Firebase:
VITE_FIREBASE_API_KEY=sua_chave
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_sender_id
VITE_FIREBASE_APP_ID=seu_app_idPara iniciar o servidor de desenvolvimento:
npm run devAbra http://localhost:5173 no navegador.
Para gerar a versão final otimizada:
`npm run build
npm run previewPara que tudo funcione, você precisa ativar dois serviços no seu console do Firebase:
- Authentication: Ative o provedor de E-mail/Senha.
- Cloud Firestore: Crie o banco de dados.
Para aplicar as regras do banco de dados (que estão no arquivo firestore.rules), você pode usar o CLI do Firebase:
npx firebase-tools deploy --only firestore:rules --project SEU_ID_DO_PROJETOTemos uma boa cobertura de testes para garantir que nada quebre ao adicionar novas funções:
- Unitários:
npm run test(testamos a lógica de negócio isolada). - E2E:
npm run test:e2e(testamos o fluxo completo no navegador com Playwright).
