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
Briefing visual com quiz de estilo, proposta e contrato automáticos e aprovações registradas. Tudo por link no WhatsApp, com a marca do seu escritório.
Translation pending
BusinessTypeScript · PLpgSQLGitHub @igorbritoberrielOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
O norte do seu projeto. Seu cliente explica o que quer sozinho. Você só projeta. SaaS para arquitetos e designers de interiores: briefing visual, proposta, contrato, aprovações de projeto e acompanhamento de obra, com a marca do escritório. Status: Fase 1 em andamento. Prontos: login, configuração inicial, formulário público, contatos, clientes, briefing, proposta, contrato e projeto (etapas e aprovações). As telas ainda não feitas mostram a lista do que vão ter.Read the full README ↗
O norte do seu projeto. Seu cliente explica o que quer sozinho. Você só projeta.
SaaS para arquitetos e designers de interiores: briefing visual, proposta, contrato, aprovações de projeto e acompanhamento de obra, com a marca do escritório.
Status: Fase 1 em andamento. Prontos: login, configuração inicial, formulário público, contatos, clientes, briefing, proposta, contrato e projeto (etapas e aprovações). As telas ainda não feitas mostram a lista do que vão ter.
nortearq) no VS Code: Arquivo → Abrir pasta.Ctrl + ') e instale as dependências (só na primeira vez):
npm install
npm run dev
O site roda sem banco de dados. Para ligar o Supabase, veja a seção abaixo.
| Área | Endereço |
|---|---|
| Landing page | http://localhost:3000 |
| Preços | http://localhost:3000/precos |
| Login / Cadastro | http://localhost:3000/entrar · /cadastro · /recuperar-senha |
| Configuração inicial | http://localhost:3000/app/onboarding (aparece sozinha no 1º acesso) |
| Sistema do arquiteto | http://localhost:3000/app |
| Formulário público do escritório | http://localhost:3000/e/studio-ana |
| Briefing do cliente (exemplo, sem banco) | http://localhost:3000/c/exemplo/briefing |
| Briefings / Perfil do Cliente / Editor | http://localhost:3000/app/briefings · /app/briefings/editor |
| Proposta do cliente (exemplo, sem banco) | http://localhost:3000/c/exemplo/proposta |
| Portal do cliente | http://localhost:3000/portal |
app/
├── (site)/ → SITE DE VENDAS (landing, preços)
├── (auth)/ → entrar, cadastro, recuperar-senha
├── app/ → SISTEMA DO ARQUITETO (/app)
│ ├── contatos/ 01 · pedidos de orçamento
│ ├── clientes/ 00 · lista e ficha do cliente
│ ├── propostas/ 01
│ ├── contratos/ 01
│ ├── briefings/ 02 · respostas + editor de briefing
│ ├── projetos/ 03 · etapas, arquivos, aprovações
│ ├── obras/ 04 · visitas
│ ├── configuracoes/ 00 · marca, serviços, plano
│ └── onboarding/ 00 · assistente pós-cadastro
├── e/[escritorio]/ → formulário público do escritório (01)
├── c/[token]/ → LINKS DO CLIENTE SEM LOGIN (briefing, proposta, contrato)
└── portal/ → PORTAL DO CLIENTE COM LOGIN
components/ → componentes reutilizáveis
lib/
├── modulos.ts → catálogo de módulos e planos (fonte única)
├── navegacao.ts → menu do sistema
└── supabase/ → conexão com o Supabase
supabase/migrations/ → estrutura do banco de dados (SQL)
supabase/migrations/0001_schema_inicial.sql,
0002_lista_espera.sql (lista de espera do site), 0003_cadastro_e_onboarding.sql (cadastro,
configuração inicial e logo) 0004_formulario_e_contatos.sql (formulário público e contatos), 0005_clientes_e_links.sql
(clientes e links do cliente), 0006_briefing.sql (briefing, quiz de estilo e fotos),
0007_propostas.sql (propostas, versões e resposta do cliente), 0008_contratos.sql (contrato com
aceite eletrônico, projeto e pagamentos), 0009_ajuste_link_proposta.sql, 0010_projetos.sql
(etapas, arquivos com versões e aprovações do cliente) 0011_deslocamento.sql (deslocamento das visitas)
e 0012_parcelamento.sql (parcelamento escolhido pelo cliente)..env.example para .env.local e preencha a URL e a chave (Project Settings → API).SUPABASE_SECRET_KEY
(chave secreta, só o servidor usa) e RESEND_API_KEY (veja "Avisos por e-mail").npm run dev.O arquiteto recebe e-mail quando chega um pedido de orçamento, quando um cliente envia o briefing e
quando responde a proposta; o arquiteto e o cliente recebem e-mail quando o contrato é assinado
(lib/avisos.ts, envio pelo Resend em lib/email.ts).
.env.local: RESEND_API_KEY=... e SUPABASE_SECRET_KEY=... (para descobrir o e-mail do arquiteto).[email protected] só entrega no e-mail da sua conta Resend. Para
lançar, verifique o domínio (ex.: nortearq.com.br) no Resend e troque EMAIL_REMETENTE.Sem a chave, nada quebra: o aviso só aparece no terminal.
/#lista-espera). No lançamento, troque
PRE_LANCAMENTO para false em lib/site.ts e os botões passam a levar ao cadastro.lista_espera (Supabase → Table Editor). O site só consegue inserir;
ler e exportar (CSV) é pelo painel. Origem das visitas: parâmetros utm_source, utm_medium e
utm_campaign do link..env.local, em desenvolvimento o formulário mostra sucesso e só registra no terminal; em
produção, ele avisa que não conseguiu salvar.skills/ (video-to-website + frontend-design):
components/site/MotorAnimacao.tsx (Lenis + GSAP) e components/site/PlantaBaixa.tsx (cena central,
que será trocada pelo vídeo).Variáveis (no .env.local e na Vercel → Settings → Environment Variables):
| Variável | O que é |
|---|---|
ASAAS_API_KEY | Chave da API do Asaas (Minha conta → Integrações) |
ASAAS_AMBIENTE | sandbox para testes, producao para cobrar de verdade |
ASAAS_WEBHOOK_TOKEN | Senha que o Asaas manda nos avisos de pagamento (a mesma cadastrada no webhook) |
CRON_SECRET | Senha do lembrete diário do fim do teste (vercel.json) |
Webhook no Asaas: https://SEU-SITE/api/asaas/webhook, eventos de cobrança, com o mesmo ASAAS_WEBHOOK_TOKEN.
app/globals.css (cores provisórias em :root)lucide-react · Validação: zod/app e /portal (proxy.ts)/e/[escritorio] → tabela contatos + filtro de compatibilidade (tela Contatos)/c/[token] + botão "enviar no WhatsApp"estilos/padrao/