Skip to content

Introdução ​

O que é Bonds? ​

Bonds é um gerenciador de relacionamentos pessoais (CRM pessoal) moderno e auto-hospedado. Ele ajuda você a manter o controle das pessoas em sua vida — seus aniversários, como vocês se conheceram, sobre o que conversaram e tudo o que importa sobre seus relacionamentos.

Inspirado pelo Monica, Bonds é uma reescrita do zero usando Go e React em vez de PHP/Laravel + Vue. Ele é distribuído como um único binário com um banco de dados SQLite embarcado, tornando a implantação trivial.

Por que Bonds? ​

Monica é um CRM pessoal open source amado com mais de 24 mil estrelas. Mas, como um projeto paralelo mantido por uma equipe pequena, o desenvolvimento desacelerou — 700+ issues abertas e largura de banda limitada.

Bonds continua de onde Monica parou:

  • Rápido e leve — Binário único, inicia em milissegundos, pegada de memória mínima
  • Fácil de implantar — Um binário + SQLite. Sem necessidade de PHP, Composer ou Node runtime
  • Interface moderna — React 19 + TypeScript com Ant Design, experiência SPA fluida
  • Bem testado — 1014 testes de backend, 129 testes de frontend, 180 casos de teste E2E
  • Comunidade primeiro — Construído para contribuições e iteração rápida

Arquitetura ​

┌─────────────────────────────────────┐
│           Binário Único             │
│  ┌──────────┐  ┌──────────────────┐ │
│  │ API Go   │  │ React            │ │
│  │ (Echo)   │  │ Embarcado (Vite) │ │
│  └────┬─────┘  └──────────────────┘ │
│       │                             │
│  ┌────┴─────┐  ┌──────────────────┐ │
│  │ GORM ORM │  │ Busca Bleve      │ │
│  └────┬─────┘  └──────────────────┘ │
│       │                             │
│  ┌────┴─────┐                       │
│  │ SQLite / │                       │
│  │ Postgres │                       │
│  └──────────┘                       │
└─────────────────────────────────────┘
  • Backend: Go com framework HTTP Echo, GORM ORM, autenticação JWT
  • Frontend: React 19 + TypeScript + Ant Design v6 + TanStack Query v5
  • Banco de dados: SQLite (padrão) ou PostgreSQL
  • Busca: Bleve v2 com tokenizador CJK
  • Sincronização: CardDAV/CalDAV via go-webdav
  • Build: Binário único com go:embed — o frontend é compilado dentro do binário Go

Créditos ​

Bonds está sobre os ombros de @djaiss, @asbiin e de toda a comunidade Monica. O Monica original permanece disponível sob AGPL-3.0 em monicahq/monica.

Licença ​

Business Source License 1.1 (BSL 1.1):

  • Indivíduos: Gratuito para qualquer uso não comercial
  • Organizações: Uso comercial requer uma licença paga
  • Data de Alteração: Cada versão é convertida automaticamente para AGPL-3.0 no quarto aniversário de sua primeira distribuição pública
  • Contribuições: Enviar uma contribuição significa aceitar os termos de contribuição, incluindo a renúncia de todos os direitos de propriedade e outros direitos ou reivindicações sobre essa contribuição na extensão máxima permitida por lei

Released under the BSL-1.1 License (each version converts to AGPL-3.0 four years after its first public release)