$ cd ./projects/gotyeah-notes/
← cd ../ (retour aux projets)

$ cat gotyeah-notes.md

GotYeah Notes

Clone Notion self-hosted : workspaces multi-membres, pages en arborescence, databases avec vues table/kanban/calendar/gallery, éditeur de blocs et drag-and-drop natif.

date: 18/04/2026

#notion-clone #productivité #collaboratif

stack: Next.js 16 · TypeScript strict · Prisma 7 · SQLite · Tailwind v4 · BlockNote · dnd-kit · SWR

$ cat README.md

Projet né d’un constat : Notion est génial, mais je veux posséder mes données. Donc je le reconstruis, pas tout, juste ce que j’utilise vraiment.

Architecture

  • Next.js 16 App Router, Server Components par défaut, Server Actions pour les mutations.
  • Prisma 7 + SQLite, pour rester portable et auto-hébergeable sans infra lourde.
  • Auth maison.

Modèle de données

  • 10 entités, User, Workspace, Membership, Section, Page, Database, DatabaseProperty, Record, View, PageVisit, avec des invariants explicites.
  • visibility dénormalisée, synchro récursive via un helper unique.
  • Permissions, répondent 404 plutôt que 403 pour ne pas leaker l’existence.

Édition et interactions

  • Éditeur de blocs BlockNote, avec autosave 500ms debounce.
  • Drag-and-drop universel, sidebar, lignes de table, cartes kanban via dnd-kit.
  • Optimistic updates, partout via SWR.
  • Filtres et tris côté client, pour rester responsive.

A project born from a realization: Notion is great, but I want to own my data. So I’m rebuilding it, not all of it, just what I actually use.

Architecture

  • Next.js 16 App Router, Server Components by default, Server Actions for mutations.
  • Prisma 7 + SQLite, to stay portable and self-hostable without heavy infra.
  • Custom auth.

Data model

  • 10 entities, User, Workspace, Membership, Section, Page, Database, DatabaseProperty, Record, View, PageVisit, with explicit invariants.
  • Denormalized visibility, recursive sync via a single helper.
  • Permissions, return 404 rather than 403 to avoid leaking existence.

Editing and interactions

  • BlockNote block editor, with 500ms debounced autosave.
  • Universal drag-and-drop, sidebar, table rows, kanban cards via dnd-kit.
  • Optimistic updates, everywhere via SWR.
  • Client-side filters and sorts, to stay responsive.