Bops
A team of AI bots that runs your business ops: inbox, pipeline, invoices, reports. Each one has its own computer, email and phone number, and remembers everything.
翻訳待ち
Open-source management software for ISO/IEC 17025 calibration laboratories: calibration workflow, GUM uncertainty, certificates with ICP-Brasil signatures, client portal and an offline desktop app.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Open-source management software for calibration laboratories working under
ISO/IEC 17025: calibration workflow, GUM uncertainty calculations, certificates with
review/approval and ICP-Brasil digital signatures, a client portal, and a desktop app that
keeps working offline.Read the full README ↗Open-source management software for calibration laboratories working under ISO/IEC 17025: calibration workflow, GUM uncertainty calculations, certificates with review/approval and ICP-Brasil digital signatures, a client portal, and a desktop app that keeps working offline.
Em português: o Calibra Fácil é um software de código aberto (licença MIT) para laboratórios de calibração sob a ISO/IEC 17025 e oficinas permissionárias do Inmetro. Cobre o fluxo de calibração, o cálculo de incerteza conforme o GUM, certificados com revisão e aprovação assinados em ICP-Brasil, o portal do cliente e um aplicativo desktop que funciona offline. A interface é em português; o código e a documentação técnica, em inglês. Para rodar localmente, siga o Quick start.
Calibra Fácil started as a commercial SaaS used in production by accredited laboratories in Brazil. It is now maintained as an open-source project, on a best-effort basis, by its community.
No warranty. The software is provided "as is" under the MIT License. Each laboratory is solely responsible for validating it for its own use (ISO/IEC 17025:2017 §7.2.2 and §7.11) and for the results and certificates it issues. The validation dossiers are technical references, not approvals.
packages/math-engine) — exact
decimal arithmetic, Type A/B evaluation, correlated inputs, Welch–Satterthwaite with
Student-t coverage, reproducible SHA-256 calculation fingerprints and versioned
validation dossiers. ┌───────────────┐ ┌───────────────┐ ┌──────────────────────────┐
browser ──▶ │ apps/web │ │ apps/portal │ │ apps/desktop │
│ lab app │ │ client portal│ │ Electron + local-server │
└───────┬───────┘ └───────┬───────┘ │ (SQLite, offline sync) │
│ │ └────────────┬─────────────┘
└─────────┬─────────┴────────────────────────┘
▼
┌───────────────────┐ ┌──────────────────────┐
│ apps/api (Hono) │ ─────▶ │ apps/worker │
│ REST + auth │ jobs │ PDFs, e-mails, syncs│
└─────────┬─────────┘ └──────────┬───────────┘
│ │
┌───────────────────┼───────────────┬─────────────┴──────┐
▼ ▼ ▼ ▼
PostgreSQL S3-compatible Gotenberg SMTP or Resend
(Drizzle) object storage (HTML → PDF) (e-mail)
| Path | What it is |
|---|---|
apps/api | Hono API: REST routes, Better Auth, cron handlers |
apps/web | Lab app (React 19, Vite, TanStack Router/Query, Tailwind 4) |
apps/portal | Client portal |
apps/worker | Background jobs: certificate PDFs, signing, e-mails, integrations |
apps/desktop | Electron desktop shell |
apps/local-server | Local API for the desktop app, backed by SQLite |
apps/docs | User documentation (Fumadocs on Next.js) |
apps/site | Project website (static Vite build, served by Cloudflare) |
packages/math-engine | GUM uncertainty engine (versioned, with validation dossiers) |
packages/db | Drizzle schema, SQL migrations and seeds |
packages/auth | Better Auth configuration, roles and permissions |
packages/signing | PAdES/ICP-Brasil certificate signing |
packages/local-db | Offline SQLite store, outbox and conflict records |
packages/* | Contracts, client SDK, schemas, documents, e-mail, notifications… |
Architecture rules worth reading before a first change:
CLAUDE.md (big picture),
docs/architecture/api-client-contract.md and
docs/architecture/web-frontend-architecture.md.
This is the beginning of the README. Read the rest at the original. Read the full README ↗