Hoppa till innehåll

Principer

basedb har utformats utifrån ett arkitekturdokument – sexton kapitel, i repot, under docs/architecture. Dess kapitel 00 fastställer tjugofem beslut; här är andan i dem.

En användardatabas är ett PostgreSQL-schema, en tabell är en tabell, ett fält är en typad kolumn med ett läsbart namn. Ingen EAV (entitet-attribut-värde), inga JSON-dokument som slasktratt, inga ogenomskinliga namn. Katalogen _basedb beskriver dessa objekt; den ersätter dem inte.

Avsedd följd: direkt SQL är en legitim användning. Villkoren sätts i databasen, historiken fångas av triggrar – ingenting förutsätter att skrivningen går via programmet.

Gränssnittet, REST-API:et, MCP-servern, de delade formulären, webhooks: allt går via samma tillämpningspunkt för behörigheter, i kärnan. Gränssnittet är en konsument av API:et som vilken annan som helst – ingen privat väg, ingen tjänstetoken. En resurs som du inte får se svarar exakt som en resurs som inte finns.

En TypeScript-monorepo: @basedb/core bär all logik (katalog, DDL-motor, behörigheter, poster, historik); apps/api (Hono), apps/mcp och apps/web (Next.js) är adaptrar som inte anropar varandra. Gränssnittet är aldrig beroende av kärnan: det talar HTTP, punkt.

Att ta bort flyttar undan utan att förstöra: en borttagen tabell behåller sina rader, som går att läsa i SQL under ett undanflyttat namn, och kan återställas. Att byta ett fysiskt namn låter det gamla namnet fortsätta fungera via ett alias. Rensning är ett administrativt beslut, som föregås av en kontrollerad export.

PostgreSQL 16 eller senare, och inga obligatoriska externa beroenden: ingen meddelandekö, ingen cache, ingen sökmotor. Webhook-kön, tömningen av historiken, hastighetsbegränsningarna – allt ryms i databasen eller i processen.

KapitelÄmne
00Grundläggande beslut och register över felkoder
01Namngivning och slugifiering
02Katalogen _basedb, sanningskällan
03DDL-motor och migreringar
04Fälttyper och avbildning i PostgreSQL
05Behörigheter
06Livscykel: namnbyte, borttagning, rensning
07Historik
08REST-API och webhooks
09MCP-server
10Programvaruarkitektur
11Gränssnitt
12AI-integration
13Autentisering
14Miljöer
15Delade formulär

basedb är fri programvara från Eodia, en AI-nativ mjukvarustudio.