Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Planejamento visual de rotinas operacionais, ocupação de jornada e ociosidade prevista x realizada.
Translation pending
BusinessGitHub @napa14-designOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Sistema web de planejamento visual de rotinas operacionais para equipes de ASG/serviços gerais: agenda com blocos de 30 minutos e arrastar-e-soltar, cálculo automático de jornada líquida, ocupação, ociosidade prevista e sobrecarga — com Google Sheets como banco provisório e Firebase Firestore como banco definitivo (já implementado, troca por variável de ambiente).
Ferramenta de planejamento e dimensionamento, não punitiva: ociosidade = tempo sem tarefa planejada, não prova de inatividade.
npm install
copy .env.example .env # DATA_SOURCE=memory já vem como padrão
npm run dev
Abra http://localhost:3000 e entre com:
| Perfil | Senha | |
|---|---|---|
[email protected] | Administrador | mudar123 |
[email protected] | Supervisor (Sede Aldeota) | mudar123 |
[email protected] | Visualizador | mudar123 |
O modo demo (DATA_SOURCE=memory) traz sedes, funcionários, locais, tarefas e
uma rotina de exemplo. Os dados vivem na memória do servidor — reiniciou,
voltou ao estado inicial.
Siga docs/06-setup-google-sheets.md
(service account → compartilhar planilha → .env com DATA_SOURCE=sheets →
POST /api/setup cria as abas e cabeçalhos).
Siga docs/07-migracao-firebase.md: crie o
projeto no Firebase, preencha FIREBASE_* no .env, rode
POST /api/migrar-firebase (como admin, com a fonte antiga ainda ativa) para
copiar os dados, e então troque para DATA_SOURCE=firebase.
| Documento | Conteúdo |
|---|---|
| DIARIO.md | diário de mudanças — a primeira entrada é sempre o estado atual |
| CONTEXTO-IA.md | documento autocontido para uma IA (ou a gerência) entender o sistema inteiro |
| CLAUDE.md | instruções automáticas para sessões de IA trabalharem neste código |
| docs/01-documentacao-funcional.md | visão, perfis, módulos, telas e fluxos |
| docs/02-modelo-de-dados.md | entidades, relacionamentos e abas do Sheets |
| docs/03-regras-de-negocio-e-calculos.md | regras essenciais, fórmulas e validações |
| docs/04-arquitetura.md | camadas, pastas e decisões técnicas |
| docs/05-backlog.md | escopo do MVP, Fase 2 e Fase 3 |
| docs/06-setup-google-sheets.md | passo a passo do banco provisório |
| docs/07-migracao-firebase.md | migração para o Firebase Firestore (banco definitivo) |
Next.js 15 (App Router) · React 19 · TypeScript · SWR · Google Sheets API v4
(googleapis) · Firebase Firestore (firebase-admin) · drag-and-drop nativo
HTML5 · sessão via cookie HMAC.
A regra de ouro da arquitetura: a interface nunca sabe de onde vêm os
dados. Tudo passa por services/* → DataSource (memória | Google Sheets |
Firebase Firestore — escolhido por DATA_SOURCE no .env).