Przejdź do głównej zawartości

Zasady

basedb zaprojektowano na podstawie dokumentu architektury – szesnaście rozdziałów, w repozytorium, w docs/architecture. Jego rozdział 00 ustala dwadzieścia pięć decyzji; oto ich duch.

Baza użytkownika jest schematem PostgreSQL, tabela jest tabelą, pole jest typowaną kolumną nazwaną czytelnie. Bez EAV (encja-atrybut-wartość), bez dokumentu JSON na wszystko, bez nieprzejrzystych nazw. Katalog _basedb opisuje te obiekty; nie zastępuje ich.

Zamierzona konsekwencja: bezpośredni SQL jest uprawnionym sposobem użycia. Ograniczenia są nakładane w bazie, historia jest rejestrowana przez wyzwalacz – nic nie zakłada, że zapis przechodzi przez aplikację.

Interfejs, API REST, serwer MCP, formularze udostępnione, webhooki: wszystko przechodzi przez ten sam punkt egzekwowania uprawnień, w rdzeniu. Interfejs jest konsumentem API jak każdy inny – bez prywatnej ścieżki, bez tokena usługowego. Zasób, którego nie możesz zobaczyć, odpowiada dokładnie tak samo jak zasób, który nie istnieje.

Monorepo w TypeScripcie: @basedb/core zawiera całą logikę (katalog, silnik DDL, uprawnienia, rekordy, historia); apps/api (Hono), apps/mcp i apps/web (Next.js) to adaptery, które nie wywołują się nawzajem. Interfejs nigdy nie zależy od rdzenia: mówi HTTP i tyle.

Usunięcie odsuwa na bok, nie niszcząc: usunięta tabela zachowuje swoje wiersze, czytelne w SQL pod odsuniętą nazwą, i można ją przywrócić. Zmiana nazwy fizycznej zachowuje obsługę starej nazwy przez alias. Trwałe usunięcie to decyzja administracyjna, poprzedzona sprawdzonym eksportem.

PostgreSQL 16 lub nowszy i żadnej obowiązkowej zależności zewnętrznej: ani kolejki komunikatów, ani pamięci podręcznej, ani wyszukiwarki. Kolejka webhooków, opróżnianie historii, limity częstotliwości – wszystko mieści się w bazie lub w procesie.

RozdziałTemat
00Decyzje strukturalne i rejestr kodów błędów
01Nazewnictwo i slugifikacja
02Katalog _basedb, źródło prawdy
03Silnik DDL i migracje
04Typy pól i odwzorowanie w PostgreSQL
05Uprawnienia
06Cykl życia: zmiana nazwy, usunięcie, trwałe usunięcie
07Historia
08API REST i webhooki
09Serwer MCP
10Architektura oprogramowania
11Interfejs
12Integracja AI
13Uwierzytelnianie
14Środowiska
15Formularze udostępnione

basedb to wolne oprogramowanie tworzone przez Eodia, studio oprogramowania natywnie opartego na AI.