Nieuw: automatiseringen als flow, dashboards en SQL-views

De collaboratievedatabase: elke tabelis een echte PostgreSQL-tabel.

Het gemak van een gedeelde spreadsheet — rasters, weergaven, formulieren, rechten — met gegevens die leven in getypeerde tabellen met heldere namen. Je team werkt in de interface; je scripts, je BI-tools, je AI-agents en psql lezen dezelfde rijen.

$ docker compose up -d
  • Zelf gehost
  • AGPL-3.0
  • REST-API & MCP-server
De interface, in het echt

Alles wat je team verwacht van een gedeelde spreadsheet.

basedb — raster: Een raster dat in een echte tabel schrijft — met berekende velden: een duur via een formule, de stad van de klant via een opzoekveld, het aantal taken via een telling.
Een raster dat in een echte tabel schrijft — met berekende velden: een duur via een formule, de stad van de klant via een opzoekveld, het aantal taken via een telling.
PostgreSQL, zonder vertaallaag

Een raster voor het team, een echte tabel voor je tools.

Geen generiek model, geen JSON als vergaarbak, geen field_1837: een database is een schema, een tabel is een tabel, een veld is een getypeerde kolom met een leesbare naam.

  • Native types: text, numeric, date, timestamptz, boolean — en echte foreign keys voor relaties.
  • Constraints die de database bewaakt: enkele keuzes als CHECK, gecontroleerde web- en e-mailadressen, relaties als FOREIGN KEY.
  • Formules die PostgreSQL berekent: JOURS([Fin]; [Début]) wordt een gegenereerde kolom, die psql leest zoals de andere.
  • Directe SQL blijft toegestaan — en zelfs die komt in de geschiedenis, via een trigger.
  • Query’s en SQL-views in de interface: opgeslagen query’s onder de tabellen, voor jezelf of voor het team, en echte PostgreSQL-views daartussen, die psql ook leest.
  • Hernoemen is niet breken: de oude naam blijft beschikbaar via een compatibiliteitsalias, zolang je je query’s bijwerkt.
Interface Nieuw veld · Kansen
Verplicht AI
PostgreSQL b_t4z56fq_ventes.opportunites
ALTER TABLE b_t4z56fq_ventes.opportunites
  ADD COLUMN montant numeric(38,10);
COMMENT ON COLUMN …opportunites.montant
  IS 'Contractbedrag excl. btw';
basedb=> \d opportunites
nomtext
statuttext
montantnumeric(38,10)
echeancedate
clients_iduuid → clients
Automatiseren

Automatiseringen als flow, AI bij elke stap.

Als een rij verandert, op een vast tijdstip of met één klik: een grafische editor zet de stappen achter elkaar, en elke uitvoering lees je terug in de flow.

  • Een leesbare flow: de trigger, daarna elke stap als kaart; een + op een lijn voegt op die plek een stap toe.
  • Zoeken, beslissen, schrijven: een rij vinden, afhankelijk van voorwaarden de ene of de andere vertakking nemen, bewerken, aanmaken, een melding sturen, een webhook aanroepen, naar Slack schrijven.
  • AI raadplegen in een stap: een instructie die de rij citeert, een antwoord gelezen als tekst, getal, datum of keuze, dat de volgende stappen hergebruiken.
  • De Copilot stelt een complete automatisering voor op basis van één zin, of legt uit waarom een uitvoering is mislukt — niets wordt opgeslagen zonder jou.
  • Met de rechten van wie haar heeft geschreven, en in de geschiedenis zoals elke andere schrijfactie.
basedb — de automatisering “Projet livré” in de flow-editor: als een taak klaar is, het tijdstip noteren, zoeken wat er van het project overblijft, de vertakking “Anders” nemen, de AI om het afrondingsbericht vragen, en dan het project leveren; rechts de laatste uitvoeringen, stap voor stap.
Analyseren

Dashboards zonder je tabellen te verlaten.

Vragen gesteld met de muis of in SQL, vijftien visualisaties, gemeenschappelijke filters — ieder leest ze met zijn eigen rechten.

  • Vragen: een tabel, haar koppelingen, filters en maten per dag, week, maand of jaar — of alleen-lezen SQL.
  • Vijftien visualisaties: getal, trend, voortgang, meter, staven, lijnen, cirkel, trechter, draaitabel, landkaart…
  • Verkennen met één klik: een punt opent zijn rijen, of een fijnere periode.
  • Gemeenschappelijke filters die één, meerdere of alle kaarten aansturen.
  • Delen via een link, openbaar of alleen voor leden, en insluiten in een andere site.
basedb — een dashboard: trend van de maand, incassodoel, omzet per maand, sentiment van de reviews, onder filters op periode en klant.
Samenwerken zonder alles open te zetten

Rechten tot op het veld, een geschiedenis zonder gaten.

Rechten worden toegekend aan groepen, op een project, een database of een tabel, en gelden voor alles wat eronder valt. Een gevoelige kolom kun je voor een groep verbergen, of voor die groep niet bewerkbaar maken.

  • Vier niveaus: Geen toegang, Lezen, Bewerken, Beheren — de rechten van je groepen tellen op.
  • Zelfs SQL volgt je rechten: in de interface ziet een query alleen de tabellen en velden die voor jou openstaan — en PostgreSQL zelf dwingt dat af.
  • Elke schrijfactie wordt vastgelegd in dezelfde transactie: interface, API, agent, openbaar formulier of directe SQL.
  • Een wijziging maak je ongedaan, een verwijderde rij herstel je, een verwijderde database ook.
  • Beheer vraagt om bevestiging: een recht wijzigen kan alleen als je in de afgelopen vijf minuten je wachtwoord opnieuw hebt ingetypt.
BeheerdersVerkopersSupport
Hoofdproject Lezen
Verkoop Bewerken
Kansen overgenomen Bewerken
Klanten overgenomen Bewerken
Support overgenomen Lezen
Veld “Marge”
>_

Rechtstreekse SQL-sessie heeft “ERP-migratie” gewijzigd

02:46 · lokale verbinding · psql

Bedrag: 125.000 → 130.000

↶ Terugdraaien
▣

Formulier “Offerteaanvraag” heeft “Vernieuwing intranet” aangemaakt

openbaar antwoord · gepubliceerd door Camille
REST-API · MCP · webhooks

Je AI-agents krijgen de gegevens, niet de sleutels van de kluis.

De MCP-server geeft agents vijftien tools; de REST-API geeft je programma’s dezelfde gegevens. Eén controlepunt voor rechten, dezelfde logs.

  • Eén token voor de hele database, productie en acceptatie inbegrepen, standaard alleen-lezen, nooit met meer rechten dan de persoon die het heeft aangemaakt.
  • Een agent verwijdert alleen met jouw toestemming, één rij per keer, en wijzigt de structuur niet: hij stelt voor, een mens keurt goed.
  • Gegenereerde documentatie voor elke database, gefilterd op je rechten, met de bijbehorende OpenAPI 3.1-specificatie.
  • Webhooks bij elke schrijfactie: ondertekend, op volgorde en opnieuw geprobeerd.
✦ Agent verbonden via MCP · token “Verkoop”
Hoeveel kansen zitten er in onderhandeling, en voor welk bedrag?
list_records opportunites · statut = Onderhandeling
Twee kansen, € 182.000 in totaal: ERP-migratie (€ 130.000) en Wagenparkbeheer (€ 52.000).
Voeg een veld “Waarschijnlijkheid” toe, als percentage.
propose_add_field opportunites · Waarschijnlijkheid · number
Voorgesteld: iemand van het team moet het goedkeuren in basedb.
Voorstel verloopt over 23 uur

Het veld “Waarschijnlijkheid” (Getal) toevoegen aan Kansen

Voorgesteld door de agent · token “Verkoop”

Weigeren Goedkeuren
En verder

Wat je van een teamtool verwacht, zonder PostgreSQL los te laten.

Elke functie schrijft in dezelfde tabellen, onder dezelfde rechten, in dezelfde geschiedenis.

Tien weergaven op dezelfde rijen

Gezamenlijk voor het hele team, of persoonlijk voor jou alleen: ieder kiest zijn eigen manier van lezen, niemand kopieert de gegevens.

RasterKanbanKalenderTijdlijnGalerieLijstLandkaartFormulierEnquêteQuiz

Gedeelde formulieren

Een openbare link, of een link alleen voor ingelogde leden. Wie antwoordt, krijgt geen enkel recht op de tabel.

Lees meer →

Omgevingen

Eén database, meerdere varianten. Vergelijk de structuur, migreer van de ene naar de andere, synchroniseer rijen.

ProductieAcceptatieOntwikkeling
Lees meer →

Samenwerken

De schrijfacties van anderen komen realtime binnen, je ziet wie naar welke rij kijkt, en je bespreekt haar op de plek waar ze staat: opmerkingen, vermeldingen, meldingen. Ctrl+Z maakt de laatste schrijfactie ongedaan, en weigert liever dan het werk van een ander te overschrijven.

RealtimeAanwezigheidOpmerkingenVermeldingenCtrl+Z
Lees meer →

AI in het raster

Een veld dat een model invult op basis van de andere kolommen, en een Copilot die filters, query’s en kolommen voorstelt, toe te passen met één klik. OpenAI, Anthropic, Mistral, of een model dat op je eigen machine draait.

Vat {{Notes}} samen in één zin

Relaties en formules

Echte foreign keys, formules in het Frans of het Engels die PostgreSQL berekent, en opzoekvelden, aggregaties en aantallen via relaties.

ROUND([Montant HT] * (1 + [Taux de TVA]), 2)

Opgemaakte tekst en variabelen

Een visuele editor voor opgemaakte tekst, opgeschoond bij het schrijven; en in elke lange tekst wordt {{Ville}} gelezen met de waarde van de rij.

Levering op {{Date}} in {{Ville}}

Gedeelde weergaven

Een alleen-lezen weergave via een link, in te sluiten in een andere site; een kalender wordt een feed voor je agenda.

Gesynchroniseerde tabellen

Een tabel die up-to-date blijft vanuit een online CSV, een agenda, of de gedeelde weergave van een andere basedb.

Databasesjablonen

Tien kant-en-klare sjablonen, een database die je in één zin aan de AI beschrijft, en je eigen database opgeslagen als sjabloon.

Bestanden en afbeeldingen

Op de schijf van de host of in S3-compatibele opslag: AWS, Scaleway, OVH, Cloudflare R2, Garage, MinIO…

Excel-, CSV- en JSON-import

Sleep een bestand erin: de import raadt de types, maakt de tabel aan of vult een bestaande tabel aan, en meldt rij voor rij wat er is geweigerd.

Accounts en uitnodigingen

Ieder maakt zijn eigen account en projecten aan, en nodigt anderen uit via een link, met Lezen, Bewerken of Beheren; inloggen met een wachtwoord, Google, Microsoft of elke OpenID Connect-provider.

Webhooks

Elke schrijfactie kan een ander systeem op de hoogte brengen: ondertekende payloads, op volgorde afgeleverd, opnieuw geprobeerd.

Persoonlijke instellingen

Je taal, je thema, de volgorde van datums, je meldingen, je sessies en je tokens, op één plek.

In jouw taal

De interface neemt de taal van je browser over, uit twintig talen; ieder kan die in zijn instellingen wijzigen.

Zelf gehost

Je gegevens blijven in eigen huis.

basedb is vrije software (AGPL-3.0): één image, één PostgreSQL-database, en dat is alles — geen verplichte externe dienst, geen telemetrie. Maak een back-up met pg_dump, lees je gegevens met elke PostgreSQL-client.

  • db PostgreSQL 16, je gegevens
  • basedb De interface, de REST-API en de MCP-server, op één poort
  • proxy Caddy, automatische HTTPS (optioneel)
  1. 1

    basedb ophalen

    git clone https://github.com/eodia/basedb.git
    cd basedb && cp .env.example .env
  2. 2

    Twee geheimen in .env

    POSTGRES_PASSWORD=een-sterk-wachtwoord
    # openssl rand -base64 32
    BASEDB_ENCRYPTION_KEY=…
  3. 3

    Starten

    docker compose up -d
    # daarna http://localhost:3000: maak je account aan
Veelgestelde vragen

Wat ons vaak gevraagd wordt.

Nog een vraag? De documentatie heeft vast het antwoord.

Waarin verschilt basedb van andere collaboratieve databases?

In de plek waar de gegevens leven. Waar andere hun rijen opbergen in een generiek model (genummerde kolommen, JSON-documenten), maakt basedb per tabel een echte PostgreSQL-tabel en per veld een echte getypeerde kolom, met leesbare namen. Je gegevens blijven bruikbaar zonder basedb.

Kan ik rechtstreeks in SQL naar de tabellen schrijven?

Ja. De constraints (types, verplicht, enkele keuzes, foreign keys) worden door PostgreSQL zelf bewaakt, en een trigger legt zelfs schrijfacties in directe SQL vast in de geschiedenis, met de sessie die ze uitvoerde. De SQL-console van de interface en psql lezen dezelfde tabellen; in de interface schrijft ieder SQL met zijn eigen rechten, slaat zijn query’s op en maakt er, als hij de database beheert, echte PostgreSQL-views van.

Wat gaat er naar een AI-provider?

Niets zolang je geen provider hebt ingesteld. Daarna gaan voor structuurconcepten en de Copilot standaard alleen de structuur en je zin mee; de Copilot gegevens laten lezen is een vinkje, per gesprek. Een databasesjabloon dat je aan de AI vraagt, stuurt alleen je zin. Een AI-veld stuurt de kolommen die zijn instructie citeert, na uitdrukkelijke toestemming.

Kunnen meerdere mensen aan dezelfde tabel werken?

Ja. De schrijfacties van anderen verschijnen zonder herladen, met hun gezicht op de tabel of de rij waar ze naar kijken. Je plaatst een opmerking bij een rij, vermeldt iemand met @, en de bel waarschuwt. En Ctrl+Z maakt alleen je eigen schrijfacties ongedaan: het weigert liever dan te overschrijven wat een ander intussen heeft gewijzigd.

In welke talen?

Twintig: Frans, Engels, Duits, Spaans, Italiaans, Braziliaans Portugees, Nederlands, Pools, Tsjechisch, Zweeds, Deens, Noors, Fins, Roemeens, Hongaars, Turks, Oekraïens, Japans, vereenvoudigd Chinees en Koreaans. De interface neemt de taal van de browser over, en ieder wijzigt die in zijn instellingen; deze site en de documentatie bestaan in dezelfde talen.

Hoe maakt een AI-agent verbinding?

Via de MCP-server, met een integratietoken dat beperkt is tot één database, standaard alleen-lezen. Een agent leest, maakt en wijzigt rijen volgens zijn rechten — en verwijdert ze, één voor één, als zijn token daarvoor is aangemaakt; hij wijzigt de structuur niet: hij stelt voor, en een mens keurt goed.

Welke versie van PostgreSQL is nodig?

PostgreSQL 16 of nieuwer, met de extensies pg_trgm en unaccent (beschikbaar in de officiële image). De meegeleverde docker-compose start een PostgreSQL 16; je kunt DATABASE_URL ook naar je eigen server laten wijzen.

Is het klaar voor productie?

basedb wordt actief ontwikkeld: de kern, de API, de MCP-server en de interface werken en worden gedekt door meer dan duizend tests, maar sommige functies moeten nog komen (zie de roadmap). Probeer het uit, en maak back-ups van je database zoals van elke PostgreSQL-database.

Onder welke licentie?

AGPL-3.0-or-later. Je mag het vrij gebruiken, wijzigen en hosten; bied je een gewijzigde versie aan als dienst, dan deel je de broncode ervan.

Je gegevens verdienen echte tabellen.

Installeer basedb in een paar minuten, nodig je team uit, en houd grip op elke rij.