Gå til innholdet

Prinsipper

basedb er utformet ut fra et arkitekturdokument – seksten kapitler, i depotet, under docs/architecture. Kapittel 00 fastsetter tjuefem beslutninger; her er ånden i dem.

En brukerdatabase er et PostgreSQL-skjema, en tabell er en tabell, et felt er en typet kolonne navngitt i klartekst. Ingen EAV (entitet-attributt-verdi), ingen JSON-dokumenter der alt havner, ingen ugjennomsiktige navn. Katalogen _basedb beskriver disse objektene; den erstatter dem ikke.

Tilsiktet konsekvens: direkte SQL er en legitim bruk. Begrensningene ligger i databasen, historikken fanges opp av triggere – ingenting forutsetter at skrivingen går gjennom applikasjonen.

Ett enkelt beslutningspunkt for tillatelser

Section titled “Ett enkelt beslutningspunkt for tillatelser”

Grensesnittet, REST-API-et, MCP-serveren, de delte skjemaene, webhookene: alt går gjennom det samme håndhevingspunktet for tillatelser, i kjernen. Grensesnittet er en konsument av API-et som alle andre – ingen private ruter, ingen tjenestetoken. En ressurs du ikke kan se, svarer nøyaktig som en ressurs som ikke finnes.

Et TypeScript-monorepo: @basedb/core inneholder all logikken (katalog, DDL-motor, tillatelser, poster, historikk); apps/api (Hono), apps/mcp og apps/web (Next.js) er adaptere som ikke kaller hverandre. Grensesnittet er aldri avhengig av kjernen: det snakker HTTP, punktum.

Sletting flytter til side, uten å ødelegge: en slettet tabell beholder radene sine, lesbare i SQL under et tilsidesatt navn, og kan gjenopprettes. Når et fysisk navn endres, fortsetter det gamle å fungere via et alias. Permanent tømming er en administrasjonsbeslutning, med en kontrollert eksport i forkant.

PostgreSQL 16 eller nyere, og ingen obligatoriske eksterne avhengigheter: verken meldingskø, hurtigbuffer eller søkemotor. Webhook-køen, tømmingen av historikken, hastighetsgrensene – alt får plass i databasen eller i prosessen.

KapittelEmne
00Grunnleggende beslutninger og register over feilkoder
01Navngiving og slugifisering
02Katalogen _basedb, sannhetskilden
03DDL-motor og migreringer
04Felttyper og hvordan de tilsvarer PostgreSQL
05Tillatelser
06Livssyklus: navneendring, sletting, permanent tømming
07Historikk
08REST-API og webhooks
09MCP-server
10Programvarearkitektur
11Grensesnitt
12KI-integrasjon
13Autentisering
14Miljøer
15Delte skjemaer

basedb er fri programvare fra Eodia, et KI-nativt programvarestudio.