Ir al contenido

Principios

basedb se diseñó a partir de un documento de arquitectura: dieciséis capítulos, en el repositorio, en docs/architecture. Su capítulo 00 fija veinticinco decisiones; este es su espíritu.

Una base de usuario es un esquema PostgreSQL, una tabla es una tabla, un campo es una columna tipada con un nombre legible. Sin EAV (entidad-atributo-valor), sin documento JSON cajón de sastre, sin nombres opacos. El catálogo _basedb describe estos objetos; no los reemplaza.

Consecuencia buscada: el SQL directo es un uso legítimo. Las restricciones se establecen en la base de datos y el historial lo captura un disparador: nada presupone que la escritura pase por la aplicación.

La interfaz, la API REST, el servidor MCP, los formularios compartidos, los webhooks: todo pasa por el mismo punto de aplicación de los permisos, en el núcleo. La interfaz es un consumidor de la API como cualquier otro, sin ruta privada ni token de servicio. Un recurso que no se puede ver responde exactamente igual que un recurso que no existe.

Un monorepo TypeScript: @basedb/core contiene toda la lógica (catálogo, motor DDL, permisos, registros, historial); apps/api (Hono), apps/mcp y apps/web (Next.js) son adaptadores que no se llaman entre sí. La interfaz nunca depende del núcleo: habla HTTP, y punto.

Eliminar relega, sin destruir: una tabla eliminada conserva sus filas, legibles en SQL con un nombre relegado, y se puede restaurar. Cambiar un nombre físico mantiene el antiguo servido mediante un alias. La purga es una decisión de administración, precedida de una exportación verificada.

PostgreSQL 16 o superior, y ninguna dependencia externa obligatoria: ni cola de mensajes, ni caché, ni motor de búsqueda. La cola de los webhooks, el vaciado del historial, los límites de frecuencia: todo cabe en la base de datos o en el proceso.

CapítuloTema
00Decisiones estructurales y registro de códigos de error
01Nomenclatura y slugificación
02El catálogo _basedb, fuente de verdad
03Motor DDL y migraciones
04Tipos de campo y proyección en PostgreSQL
05Permisos
06Ciclo de vida: cambio de nombre, eliminación, purga
07Historial
08API REST y webhooks
09Servidor MCP
10Arquitectura de software
11Interfaz
12Integración de IA
13Autenticación
14Entornos
15Formularios compartidos

basedb es software libre de Eodia, estudio de software nativo de IA.