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
Link na bio, agendamento sem conta, clube de mensalistas. Grátis para até 15 clientes, sem cartão.
Translation pending
BusinessTypeScript · JavaScriptGitHub @nicollasoliv7OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
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 ↗Tudo o que sua barbearia precisa para funcionar melhor. Gestão completa para barbearias, em dois pilares: (1) gestão essencial — agenda, clientes, atendimentos e financeiro para qualquer barbearia; (2) crescimento e recorrência — planos mensais opcionais, integrados à agenda e ao financeiro.
SaaS de agendamento para barbearias: agendamento público sem login (link para Instagram/WhatsApp), CRM com dashboard e filtros, importação de clientes de outros sistemas (CSV/Excel) e painel do dono. Visual escuro premium com aurora quente.
| Funciona de verdade | Depende de configuração externa |
|---|---|
Agendamento público, "sem preferência", remarcar/cancelar pelo link, .ics | WhatsApp automático: cada barbearia conecta o próprio número na API oficial da Meta (docs/WHATSAPP.md). Sem isso, há envio manual pelo WhatsApp do barbeiro |
| Planos mensais (opcional): planos, assinaturas, mensalidades, uso de benefício na agenda sem cobrança duplicada | Cobrança automática de mensalidade (hoje o pagamento é registrado pelo barbeiro; depende de gateway) |
| Painel, CRM, relatórios, exportação CSV | Pagamento real (hoje só sandbox: nenhum valor é cobrado) |
| Importação CSV/Excel com validação e duplicados | Integrações de importação por API (estrutura pronta, nenhum conector) |
| Banco embutido ou Supabase com RLS | Link absoluto nas mensagens (APP_URL) |
Dê dois cliques em iniciar-agendou.bat. Na primeira vez ele instala as dependências (alguns minutos) e depois abre o navegador.
npm install
npm run dev
(11) 90000-0001 / senha agendou123 (acesso fictício, só no desenvolvimento)O banco é criado sozinho em .data/pglite (Postgres embutido) com dados fictícios. Para zerar, apague a pasta .data.
4111 1111 1111 1111 aprova; 4000 0000 0000 0002 é recusado. Qualquer validade futura e CVV.supabase/migrations/20261021150000_agendou_schema.sql e clique em Run. Depois faça o mesmo com
supabase/migrations/20261021180000_crm_importacao.sql.
Ele cria as 18 tabelas, os relacionamentos, os índices, as travas de integridade e as políticas de RLS (cada empresa só enxerga os próprios dados).DATABASE_URL.SEED=0.Quem usa a CLI do Supabase pode rodar supabase db push, que aplica a mesma migration.
.env.example| Variável | Para quê |
|---|---|
DATABASE_URL | Usar Postgres/Supabase em vez do banco embutido |
SEED=0 | Não criar a empresa de exemplo num banco vazio |
APP_URL | Endereço público do app (ex.: https://agenda.suabarbearia.com.br), usado nos links das mensagens |
WHATSAPP_CHAVE_CRIPTO, WHATSAPP_APP_SECRET, WHATSAPP_WEBHOOK_VERIFY_TOKEN | Integração com o WhatsApp (API oficial). Cada barbearia conecta o número no painel → WhatsApp. Ver docs/WHATSAPP.md |
CRON_SECRET | Proteger POST /api/cron/expirar e POST /api/cron/lembretes |
PAGAMENTOS_SANDBOX=0 | Desliga o botão de simular pagamento |
LEMBRETE_HORAS_ANTES | Quantas horas antes enviar o lembrete (padrão 3) |
ROTINAS_INTERNAS=0 | Desliga as rotinas de 1 em 1 minuto (use as rotas /api/cron/* em serverless) |
npm run lint && npx tsc --noEmit && npm run build
npm run lint:typed # lint com tipos (mais lento, ~20 s); fora do CI
# quality gates: eslint-rules/*.cjs (teto de 350 linhas, sem console direto, sem banco nas telas) — baseline em docs/LOG.md
O GitHub Actions (.github/workflows/ci.yml) roda essas três verificações a cada push.
docs/MAPA_DE_TELAS.md, docs/MODELO_DE_DADOS.md, docs/REGRAS_DE_NEGOCIO.md, docs/ESTRUTURA_DO_APP.md e o diário do projeto em docs/LOG.md.