Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Atendimento por WhatsApp com IA, gestão de contactos, agenda e campanhas para escritórios de advocacia em Portugal.
Translation pending
BusinessTypeScript · PLpgSQLGitHub @wandersilvasm07-hashOnlineOwner 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 ↗Plataforma SaaS para escritórios de advocacia em Portugal: atendimento por WhatsApp com IA especializada em imigração, gestão de contactos e consultas, base jurídica com fontes e campanhas publicitárias assistidas — com controlo humano em todos os pontos críticos.
Nome do produto: Patrono (definido em
src/config/app.ts). O repositório mantém o nome técnicolexflow.
Estado: Fases 1 a 6 implementadas e testadas (ver pendentes externos em docs/ROADMAP.md e docs/PRIVACY.md).
| Documento | Conteúdo |
|---|---|
| docs/ARCHITECTURE.md | Stack, modelo de segurança, estrutura de pastas |
| docs/DATABASE.md | Esquema atual e desenho das fases seguintes |
| docs/CREDENTIALS.md | Serviços externos, credenciais, configuração de email |
| docs/ADS.md | Publicidade: fluxo, controlo financeiro, regras de conteúdo, atribuição |
| docs/PRIVACY.md | Segurança, RGPD, subcontratantes, operação e pendentes antes de produção |
| docs/ROADMAP.md | Plano por fases e critérios de aceitação |
npm install
cp .env.example .env.local # e preencher NEXT_PUBLIC_SUPABASE_URL e NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY
As migrações estão em supabase/migrations/ e aplicam-se por ordem.
Com a CLI do Supabase:
npx supabase link --project-ref <ref-do-projeto>
npx supabase db push
Sem CLI: abrir SQL Editor no painel do Supabase e executar cada ficheiro de supabase/migrations/ por ordem.
Depois, configurar o Auth conforme docs/CREDENTIALS.md (redirect URLs, modelos de email, TOTP).
Para dar acesso de administrador da plataforma a alguém (SQL Editor):
insert into public.platform_admins (user_id)
select id from auth.users where email = '[email protected]';
npm run dev # http://localhost:3000
npm run build && npm run start
Sem as variáveis do Supabase, as páginas públicas funcionam e as áreas autenticadas mostram um aviso claro de configuração em falta.
npm run test:unit # validação, permissões, mensagens de erro
npm run db:test:up # arranca Postgres local na porta 54322 (ou defina TEST_DATABASE_URL)
npm run test:db # RLS e RPCs contra o SQL real das migrações
npm run test:e2e # Playwright, desktop e telemóvel (faz build/start automaticamente via webServer)
npm run check # lint + tipos + testes + build
Os testes de base de dados recriam a base lexflow_test, aplicam um shim mínimo do Supabase (tests/db/supabase-shim.sql: papéis anon/authenticated, auth.users, auth.uid()) e depois todas as migrações de produção. Cada teste executa como um utilizador concreto, tal como o PostgREST faz no Supabase.
Para usar um Chromium já instalado no Playwright: PLAYWRIGHT_CHROMIUM_PATH=/caminho/chrome npm run test:e2e.
Ver docs/ARCHITECTURE.md.