Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Gestão completa para lash designers: agenda, clientes, ficha técnica, WhatsApp e financeiro.
Translation pending
BusinessGitHub @lucasbellisilva14-delOnlineOwner 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 ↗Gestão completa para lash designers autônomas no Brasil — agenda, clientes, ficha técnica de cílios, anamnese com assinatura, WhatsApp com Pix copia-e-cola, link público de agendamento, financeiro, estoque, relatórios, push e gamificação. Mobile-first radical, com identidade rosa (fundo blush + acento pink configurável).
Interface, datas (dd/mm/aaaa) e moeda (R$) 100% em português do Brasil.
professionalId em toda tabela)StorageProvider — SupabaseStorageProvider (bucket privado uploads) quando as envs do Supabase existem; disco local como fallback de devMessageProvider (Fases 1-2: links wa.me prontos; Fase 3: Meta Cloud API / Evolution API)npm install # roda prisma generate no postinstall
npx prisma migrate deploy # aplica migrations no banco do .env
npm run db:seed # dados de demonstração (APAGA e recria os dados!)
npm run dev # http://localhost:3000
O
.env(não versionado) precisa deDATABASE_URL/DIRECT_URL(Supabase Postgres — localmente use o session pooler, porta 5432),AUTH_SECRET,AUTH_TRUST_HOST, chaves VAPID,CRON_SECRETeSUPABASE_URL/SUPABASE_SERVICE_ROLE_KEY. Veja.env.example.
Login de demonstração: [email protected] / kaycilios123
O seed cria a profissional Kay Camargo (Kay Cílios — baseada no perfil real @kaycilios_sobrancelhas, com tema champagne + dourado), 6 serviços com preços de mercado, 8 templates de WhatsApp e 5 clientes com históricos pensados para demonstrar cada regra:
| Cliente | Situação |
|---|---|
| Juliana Souza | Dia 14 do ciclo (aviso de manutenção dispara amanhã) + horário hoje |
| Carla Mendes | Inativa (75 dias) → recebe mensagem de resgate |
| Beatriz Lima | Contraindicação na anamnese (alergia à cola + glaucoma) + sinal pendente |
| Fernanda Castro | Aniversariante de hoje + lembrete 24h (horário amanhã) |
| Patrícia Alves | Dia 16 do ciclo (aviso de manutenção hoje) + 2 faltas → sinal obrigatório |
npx tsx scripts/test-regras.ts
Cobre as 6 regras críticas: manutenção fora do prazo vira aplicação · conflito/buffer bloqueados · alerta de contraindicação · aviso de manutenção no dia do ciclo · sinal obrigatório após N faltas · fotos/anamnese acessíveis só pela dona (rota autenticada).
src/
app/(app)/ páginas autenticadas (agenda, clientes, mensagens, ...)
app/login/ autenticação
app/api/uploads/ fotos servidas com checagem de dono (LGPD)
lib/domain/ regras de negócio puras (scheduling, maintenance, deposit, queue...)
lib/providers/ StorageProvider e MessageProvider (trocáveis)
components/ui/ design system (tons neutros + acento configurável)
prisma/ schema multi-tenant, migrations e seed
scripts/ testes das regras de negócio
O projeto já está pronto: postinstall roda prisma generate e o build roda prisma migrate deploy && next build — cada deploy aplica as migrations sozinho.
uploads no Storage.DATABASE_URL (transaction pooler 6543 com ?pgbouncer=true&connection_limit=1&sslmode=require), DIRECT_URL (session pooler 5432 com ?sslmode=require), AUTH_SECRET, AUTH_TRUST_HOST=true, NEXT_PUBLIC_VAPID_PUBLIC_KEY/VAPID_PRIVATE_KEY, CRON_SECRET, SUPABASE_URL e SUPABASE_SERVICE_ROLE_KEY.vercel.json, 07:30 BRT) passa a rodar automaticamente com o CRON_SECRET configurado.npm run db:seed com o .env apontando para produção cria a conta demo (atenção: apaga os dados existentes)./agendar/[slug] (anti-spam com honeypot + limites diários, sinal com Pix), anamnese digital com assinatura em canvas e flags de contraindicação, financeiro completo (painel mensal, meta, despesas com recorrência fixa, gráfico 6 meses), estoque com baixa automática por atendimento e validade de colas, relatórios (status × LTV × serviços × demanda × origens), push (resumo diário via /api/cron/daily + vercel.json; requer CRON_SECRET/VAPID em produção)./conquistas + card na home.MessageProvider, modo SaaS multi-profissional com planos, relatórios avançados.Cron em produção (Vercel): o resumo diário dispara às 10:30 UTC (07:30 BRT) via
vercel.json; configure a envCRON_SECRETpara o header de autorização e gere chaves VAPID próprias (npx web-push generate-vapid-keys).