Monalisa

O que é o Monalisa

O backend do Rocket, o banco que ele mantém e como esta documentação está organizada.

O Monalisa é o backend do Rocket. É um monorepo em TypeScript sobre Bun com três executáveis (a API, os workers e o migrator), pacotes de domínio e um framework interno para injeção de dependências, configuração, HTTP, autorização, acesso ao PostgreSQL, idempotência e trabalho em segundo plano.

O projeto está em pré-lançamento: código, contratos e o baseline do banco formam uma única implementação atual. A API pública responde em api.novahml.com.

Em números

Domínios do modelo de dados11
Tabelas de domínio71
Tabelas de infraestrutura (idempotência e background work)10
Migrations no baseline17 (0001_parties a 0017_authorization-scope-ceiling-locks)
BancoPostgreSQL 18

O banco migrado tem 82 tabelas: as 71 de domínio, as 10 de infraestrutura e a tabela de controle de migrations.

Como navegar

Convenções desta documentação

  • Modelo de dados é a descrição das 71 tabelas, agrupadas em 11 domínios. As entities de cada pacote de domínio geram o schema a partir dele, e um teste compara o banco migrado com o modelo.
  • Garantido pelo banco lista só o que existe no schema migrado: PK, UNIQUE, índices únicos parciais, CHECK, EXCLUDE, triggers e colunas geradas. Cada página de domínio separa isso do que fica fora do banco.
  • Todo instante é timestamptz em UTC; vigências de negócio são date com intervalo [valid_from, valid_until): o dia de valid_until já não pertence ao período.
  • Identificadores públicos são as colunas uid; os id numéricos são internos.

Esta documentação também está disponível para LLMs em /llms.txt (índice) e /llms-full.txt (conteúdo completo).

Nesta página