$ 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.
visibilitydé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.