Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
Sistema financeiro completo para Microempreendedores Individuais (MEI): lançamentos, categorias, clientes e fornecedores, contas a pagar/receber, notas fiscais, DAS e obrigações, limite anual, dashboard, relatórios (CSV/PDF), importação de extratos e configurações. Aplicação web multiusuário (cada MEI é um tenant isolado).Read the full README ↗
Sistema financeiro completo para Microempreendedores Individuais (MEI): lançamentos, categorias, clientes e fornecedores, contas a pagar/receber, notas fiscais, DAS e obrigações, limite anual, dashboard, relatórios (CSV/PDF), importação de extratos e configurações. Aplicação web multiusuário (cada MEI é um tenant isolado).
Estado atual: v1 completa. Autenticação e multiusuário, lançamentos (com recorrência e anexos), clientes e fornecedores, contas a pagar/receber, notas fiscais, DAS/DASN e limite anual, dashboard, relatórios com exportação CSV/PDF, importação de extrato CSV e configurações — tudo implementado, testado e integrado.
corepack enable ou npm i -g pnpm@10Não é necessário instalar Docker nem PostgreSQL: em desenvolvimento o banco é o PGlite (Postgres em WebAssembly, arquivo local). Em produção usa-se um Postgres gerenciado gratuito (Supabase ou Neon) sem mudar código.
cd "C:\Users\user 01\OneDrive\Desktop\Sistema financeiro"
Copy-Item .env.example .env # ajuste se quiser; os padrões funcionam em dev
pnpm install
pnpm env:check # confere Node, pasta do banco e avisos
pnpm dev # sobe shared (watch), API (3333) e web (5173)
Abra http://127.0.0.1:5173. A API responde em http://127.0.0.1:3333/api/v1/health e a documentação OpenAPI em http://127.0.0.1:3333/docs.
Para validar tudo de uma vez (mesmo comando da CI):
pnpm check # typecheck + lint + format + testes + smoke
| Script | O que faz |
|---|---|
pnpm dev | Compila o shared e sobe shared (watch), API e web em paralelo |
pnpm build | Build de todos os pacotes (packages/shared, apps/api, apps/web) |
pnpm typecheck | tsc -b em todo o monorepo |
pnpm lint | ESLint 9 (flat config) |
pnpm format / format:check | Prettier (grava / só verifica) |
pnpm test / test:watch | Vitest em todos os projetos |
pnpm test:coverage | Vitest com cobertura (v8) |
pnpm smoke | Sobe a API em processo (PGlite em memória) e exercita rotas reais |
pnpm check | typecheck + lint + format:check + test + smoke |
pnpm db:generate | Gera migração SQL a partir do schema Drizzle |
pnpm db:migrate | Aplica migrações no banco configurado |
pnpm db:push | Sincroniza o schema direto (só em desenvolvimento) |
pnpm db:seed / db:seed:demo | Seeds de parâmetros / dados de demonstração |
pnpm db:reset | Apaga o PGlite local e recria o banco |
pnpm db:backup | Exporta o PGlite local para %LOCALAPPDATA%\meifin\backups |
pnpm env:check | Mostra a configuração efetiva e avisos de ambiente |
pnpm clean | Remove dist, coverage, .data e *.tsbuildinfo |
%LOCALAPPDATA%\meifin\pglite (ex.: C:\Users\<você>\AppData\Local\meifin\pglite).
Propositalmente fora do OneDrive. Para mudar, defina PGLITE_DATA_DIR no .env.%LOCALAPPDATA%\meifin\backups.memory://), nada é gravado em disco.STORAGE_DRIVER=local): %LOCALAPPDATA%\meifin\uploads — pasta
irmã da do PGlite, também fora do OneDrive e do repositório. Em produção com disco efêmero
(ex.: Render), use STORAGE_DRIVER=s3 (veja a seção de deploy abaixo).Esta pasta está dentro do OneDrive. A sincronização pode travar arquivos de node_modules e de
builds, deixando pnpm install lento ou com erros. Mitigações já aplicadas: dados do banco fora
do OneDrive, node_modules hoisted e .gitignore completo. Recomendações:
C:\dev\meifin), oupnpm install.pnpm env:check avisa quando detecta OneDrive ou espaços no caminho.
├─ packages/shared @meifin/shared — constantes (enums), schemas zod, dinheiro/datas, regras de domínio
├─ apps/api @meifin/api — Fastify 5 + Drizzle (pg-core) + PGlite/pg, OpenAPI em /docs
├─ apps/web @meifin/web — React 19 + Vite 7 + React Router 7 + TanStack Query + Tailwind 4
├─ scripts/ smoke.ts, check-env.ts, clean.ts
└─ docs/handoff/ pedidos fora de escopo entre pacotes de trabalho
Convenções principais: dinheiro sempre em centavos inteiros; datas de negócio como string
AAAA-MM-DD com "hoje" em America/Sao_Paulo; toda tabela de negócio tem tenant_id e o acesso
entre tenants devolve 404; textos, commits e documentação em pt-BR.
Veja .env.example. As mais importantes:
This is the beginning of the README. Read the rest at the original. Read the full README ↗