Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
SaaS para gestão de clínicas de harmonização facial com controle de custo real por atendimento.
Translation pending
BusinessTypeScript · JavaScriptGitHub @Yuurij-devOnlineOwner 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 ↗This is a Next.js project bootstrapped with create-next-app.
O desenvolvimento e os testes usam PostgreSQL local. Inicie Docker Desktop e então prepare a base:
npm run db:local:up
npm run db:migrate:deploy
npm run db:generate
As URLs locais estão no .env.example. Para integrar recursos hospedados no Supabase, use DATABASE_URL com pooler de transações (6543) e DIRECT_URL com conexão direta ou pooler de sessão (5432). SHADOW_DATABASE_URL deve apontar para um banco separado e descartável para criar migrations com prisma migrate dev.
Gere valores aleatórios distintos para AUTH_SECRET e SEED_ADMIN_PASSWORD com node -e "console.log(require('node:crypto').randomBytes(32).toString('base64url'))". A aplicação exige pelo menos 32 bytes para AUTH_SECRET e não usa uma chave padrão.
Antes de executar npm run db:seed, defina SEED_ADMIN_PASSWORD com uma senha única de pelo menos 12 caracteres. O seed cria ou atualiza a senha da conta admin; as contas opcionais teste e pro só são criadas quando SEED_TEST_PASSWORD e SEED_PRO_PASSWORD também forem definidas com senhas únicas. O script não imprime as senhas.
Em bancos que já receberam as credenciais de demonstração antigas, altere as senhas dessas contas antes de expor a aplicação.
Cada usuário precisa estar vinculado a uma clínica por ClinicMembership. As entidades de negócio possuem clinicId, e as APIs filtram os registros pela clínica da sessão autenticada. Para preparar um banco local novo:
npm ci
npm run db:migrate:deploy
npm run db:generate
npm run db:seed
npm run db:tenant-seed
O db:tenant-seed cria a clínica inicial, vincula a ela os usuários que ainda não têm clínica e associa os registros legados a ela. Para uma clínica nova, crie a clínica e um ClinicMembership para cada funcionário; o usuário só conseguirá acessar os dados da clínica à qual estiver vinculado.
O histórico anterior foi preservado em prisma/legacy-migrations-before-postgresql-baseline para auditoria; a pasta ativa contém uma baseline PostgreSQL limpa. Em uma base existente, não execute o SQL da baseline sobre as tabelas atuais. Faça backup, compare o schema existente com o schema Prisma e, somente quando estiver confirmado que representam o mesmo estado, registre a baseline como aplicada com npx prisma migrate resolve --applied 0_init. Esse comando altera apenas o controle de migrations; não cria nem apaga tabelas. Se a comparação apontar diferenças, pare e prepare uma migration de reconciliação específica antes de continuar.
O fluxo de desenvolvimento, produção e reconciliação está em docs/prisma-migrations.md.
npm run db:backup grava todas as tabelas em backups/<data-hora>/ (uma linha JSON por registro e um manifest.json com colunas e contagens) e confere a contagem de cada tabela. Não precisa de pg_dump. Os arquivos têm dados de pacientes: a pasta fica fora do Git; guarde uma cópia em local com acesso restrito e apague as antigas.
npm run db:restore -- backups/<data-hora> restaura num banco com as mesmas tabelas e colunas do backup e vazio. Ele recusa se alguma tabela já tiver linhas ou se as colunas forem diferentes, e grava tudo numa transação só.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.