How to Build a Notion Clone with Strapi v4 and Next.js (Part 1 of 2)
strapi.io
strapi.io
The hardest/most unstable part was getting a solid WYSIWYG editor experience with a bunch of different media handling. The backend part seemed fairly trivial in comparison, so I'm not sure why would this be used to showcase strapi.
https://docs.strapi.io/developer-docs/latest/setup-deploymen...
https://forum.strapi.io/t/discussion-regarding-the-complex-r...
In order to make a notion clone one would need an huge amount of GraphQL types. Notion has many different content blocks text, callout, tables, images, etc. And those types also have configurations i.e (table calendar, board, timeline). Additionally there are field types with individual configuration as well. These all need to be expressed trough the API, and graphql's interface system might be a candidate for it. But it will be a _lot_ of models.
On top of that you need to create the most flexible editor in existence in regarding editing these content blocks.
The easy part is storing though so that's good. For a small sized setup. You can just jam it in a postgres jsonb table make some materialised views and indexes and be done with it.