Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
MEI와 소규모 사업자를 위한 온라인 관리 시스템으로, 판매·현금·재고·고객·재무를 한 곳에서 브라우저로 관리합니다
Sistema de gestão online para MEI e pequenos negócios: organize vendas, caixa, estoque, clientes e financeiro em um só lugar, direto no navegador.
비즈니스TypeScript · PLpgSQLGitHub @bartolomeu7온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Micro SaaS application
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Fundação de um produto SaaS moderno, modular, seguro e preparado para produção.
Status atual: autenticação, multi-tenant, dashboard, Clientes, Produtos, Serviços, Vendas (com pagamentos, descontos e cancelamento), Fidelidade, Documentos de cliente, Sorteio/Ranking, Caixa e Billing/assinatura via EvoPay (Pix) implementados. O painel administrativo da plataforma (
/admin) tem o guard de acesso pronto, mas ainda nenhuma página de conteúdo. Estoque, Financeiro, Relatórios, Agenda e Equipe/Colaboradores ainda não têm backend — verdocs/architecture.mdpara o detalhe de cada módulo edocs/authentication.mdpara o fluxo de autenticação.
src/
├── middleware.ts # protege /app, /admin, /onboarding; guard de role e de assinatura; renova sessão
├── app/
│ ├── auth/callback/ # troca code por sessão (confirmação/recuperação)
│ ├── onboarding/ # criação da primeira empresa (fora do route group (app))
│ ├── (public)/ # landing, /login, /register, /forgot-password, /reset-password
│ ├── (app)/
│ │ └── app/
│ │ ├── page.tsx # dashboard
│ │ ├── clientes/ # listagem, /novo, /[id], /[id]/editar
│ │ ├── produtos/ # produtos e categorias
│ │ ├── servicos/ # serviços e categorias
│ │ ├── vendas/ # nova venda, item, pagamento, cancelamento
│ │ ├── fidelidade/ # configurações, níveis, campanhas
│ │ └── assinatura/ # billing/assinatura (EvoPay)
│ ├── admin/ # painel da plataforma — segmento real (não route group);
│ │ # guard pronto (src/lib/admin/guard.ts), sem página ainda
│ └── api/ # route handlers (webhook EvoPay, criação de cobrança Pix)
├── components/
│ ├── ui/ # componentes shadcn/ui (button, input, label, alert)
│ ├── shared/ # reutilizáveis (auth forms, headers)
│ ├── app/ # AppShell, sidebar e todos os módulos de negócio
│ └── admin/ # específicos do admin (ainda sem conteúdo)
├── lib/
│ ├── supabase/ # clientes Supabase (browser, server, admin, middleware)
│ ├── auth/ # server actions de auth + leitura de sessão/perfil
│ ├── admin/ # guard de acesso à plataforma (profiles.role)
│ ├── billing/ # guard de assinatura + integração EvoPay
│ ├── companies/ # leitura da empresa atual + criação (onboarding)
│ ├── customers/ # queries e server actions do módulo de clientes
│ ├── products/, services/, sales/, loyalty/ # demais módulos de negócio
│ └── validations/ # schemas Zod por módulo
├── hooks/ # ainda vazio
├── types/ # tipos de domínio por módulo + tipos do Supabase
└── config/ # configuração estática do projeto
supabase/
└── migrations/ # 001–021 (fundação, módulos e caixa)
docs/
├── architecture.md # visão geral da arquitetura
└── authentication.md # fluxo de autenticação em detalhe
Instale as dependências:
npm install
Copie o arquivo de variáveis de ambiente de exemplo:
cp .env.example .env.local
Preencha .env.local com os valores do seu projeto Supabase (veja a seção
abaixo). Nunca faça commit de .env.local.
Rode o servidor de desenvolvimento:
npm run dev
Acesse http://localhost:3000. Você deve ver o nome do projeto "Prime Ges" e o status "Aplicação Online".
Aplique todas as migrations no seu projeto Supabase, em ordem numérica
(supabase/migrations/001_create_profiles.sql até a mais recente), pelo
SQL Editor do dashboard ou via supabase db push se estiver usando o
Supabase CLI. Atenção: isso vale apenas para um projeto Supabase
novo e vazio, e a reprodutibilidade de um banco novo a partir destes
arquivos não foi comprovada — leia supabase/migrations/README.md
(divergências conhecidas, migration 004 substituída, ordem). Nunca rode
supabase db push nem migration repair contra o banco de produção
existente: o histórico dele usa timestamps, não os números dos arquivos.
No primeiro acesso, você será redirecionado para /onboarding para criar
sua empresa antes de chegar ao dashboard.
Definidas em .env.example (sem valores reais):
| Variável | Descrição | Exposta ao browser? |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | URL do projeto Supabase | Sim |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Chave pública (anon), protegida por RLS | Sim |
SUPABASE_SERVICE_ROLE_KEY | Chave administrativa, ignora RLS | Não — apenas server-side |
NEXT_PUBLIC_APP_URL | URL pública da aplicação | Sim |
NEXT_PUBLIC_APP_ENV | development | staging | production | Sim |
Em produção (Vercel), NEXT_PUBLIC_APP_URL deve ser https://primeges.com.br —
configurado nas variáveis de ambiente do projeto na Vercel, não neste
repositório. Em desenvolvimento local, .env.local continua usando
http://localhost:3000.
Onde encontrar as chaves do Supabase: Project Settings → API no dashboard do seu projeto.
| Comando | Descrição |
|---|---|
npm run dev | Inicia o servidor de desenvolvimento |
npm run build | Build de produção |
npm run start | Roda o build de produção localmente |
npm run lint | Roda o ESLint |
npm run typecheck | Verifica tipos TypeScript sem gerar build |
.env* está no .gitignore).SUPABASE_SERVICE_ROLE_KEY nunca é usada no frontend.Este projeto é preparado para deploy na Vercel a partir do repositório GitHub,
com variáveis de ambiente configuradas separadamente para os ambientes
Production, Preview e Development. Ver docs/architecture.md para
mais detalhes.