SlowBooks Pro
Free accounting software for Windows, Mac, and Linux. Payroll, inventory, unlimited invoicing, multi-user Server Edition built into the signed installer (no Docker required). No cloud, no subscription
Quitto — manage installment agreements, payment proofs and payoffs in one place.
Translation pending
FinanceTypeScript · CSSGitHub @devjpedroOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
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
Gestão de contratos parcelados (parcelas, comprovantes, quitação). Monorepo Bun + Elysia + React 19, com CI/CD no GitHub Actions.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Gestão de contratos parcelados — cada parcela no seu lugar. Acompanhe compras parceladas, aluguéis e acordos entre partes (ou solo): contratos, parcelas, comprovantes e quitação, com aprovação/contestação, notificações e dashboard.Read the full README ↗
Gestão de contratos parcelados — cada parcela no seu lugar.
Acompanhe compras parceladas, aluguéis e acordos entre partes (ou solo): contratos, parcelas, comprovantes e quitação, com aprovação/contestação, notificações e dashboard.
Monorepo (Bun workspaces + Turborepo). O front é same-origin: chama /api/* no próprio domínio,
e um reverse-proxy (rewrite na Vercel) encaminha pro backend no Fly — mantendo o cookie de
sessão first-party.
Navegador ──▶ usequitto.vercel.app (React SPA · Vercel)
│ /api/* (rewrite)
▼
usequitto-api.fly.dev (Elysia · Fly.io)
├──▶ Neon (PostgreSQL)
└──▶ Cloudflare R2 (comprovantes · presigned)
| Camada | Tecnologias |
|---|---|
| API | Bun · Elysia · Drizzle ORM · PostgreSQL · Better Auth (Google + e-mail/senha) |
| Web | React 19 · Vite · TanStack Router & Query · Tailwind v4 · shadcn/Radix |
| Tipos | Eden Treaty (cliente tipado ponta a ponta, sem geração de código) |
| Storage | Cloudflare R2 (prod) · MinIO (dev/CI) — S3-compatível, upload pré-assinado |
| Infra | Vercel (web) · Fly.io (API) · Neon (DB) · GitHub Actions (CI/CD) |
| Qualidade | TDD · Biome/Ultracite · Lefthook · bun test · Vitest · Playwright + axe |
Valores monetários são inteiros em centavos; datas em ISO com máscara pt-BR.
apps/
api/ # backend Elysia (rotas, auth, drizzle, storage)
web/ # SPA React (rotas, hooks, componentes)
packages/
shared/ # tipos e contratos compartilhados (enums, helpers puros)
e2e/ # suíte Playwright (+ axe) dos fluxos críticos
Pré-requisitos: Bun ≥ 1.2 e Docker (para Postgres + MinIO).
git clone [email protected]:devjpedro/quitto.git
cd quitto
bun install
# sobe Postgres + MinIO (bucket criado automaticamente)
docker compose up -d
# variáveis de ambiente (ajuste se quiser Google OAuth local)
cp .env.example .env
# aplica as migrations
bun run --filter @quitto/api db:migrate
# sobe API (:3000) + web (:3001)
bun run dev
Abra http://localhost:3001. O Google é opcional em dev (sem GOOGLE_*, sobe só com e-mail/senha).
Veja .env.example. Resumo:
| Var | Para quê |
|---|---|
DATABASE_URL | conexão Postgres |
BETTER_AUTH_SECRET / BETTER_AUTH_URL | sessão/auth |
WEB_ORIGIN | origem confiável (CORS/CSRF) |
GOOGLE_CLIENT_ID / _SECRET | login social (opcional em dev) |
S3_ENDPOINT / _REGION / _BUCKET / _ACCESS_KEY_ID / _SECRET_ACCESS_KEY | storage (R2/MinIO) |
bun run test # unitários/integração (API: bun test · web: Vitest)
bun run lint && bun run typecheck # Biome + tsc
cd e2e && bun run e2e # E2E Playwright (+ axe a11y) — precisa de docker compose up
bun run --filter @quitto/web lh # Lighthouse local no /login
GitHub Actions (.github/workflows/ci.yml):
push/PR ──▶ verify (lint·typecheck·test·build) + e2e (Playwright·axe) ← gate
push main ──────▶ migrate (Neon) ──▶ deploy-api (Fly) ∥ deploy-web (Vercel) ──▶ smoke
Nada vai pra produção sem o gate passar. O deploy de produção é orquestrado pelo pipeline: o
main migra o banco e publica API + web em paralelo, depois valida com smoke test.
Proprietário — © 2026 João Pedro Souza Silva. Todos os direitos reservados. Veja LICENSE.