

Of course, you will also be setting up the routing between them. The project will also take advantage of Next.js static and server-side rendering by setting a static route for your list of pages but dynamic routes for your single page. You will be using an HTML editor to recreate a rich but easy-to-use editing experience. Just like the popular note-taking application, this frontend will have a few features such as creating pages, but also the ability to create blocks of content on your page. Once done, you will design queries and mutations that will allow you to create, update, and delete content through your new API.įinally, there is the Next.js client which will reproduce some of the functionalities of Notion. You will be interacting with this data thanks to GraphQL, which you will install with your Strapi backend. As for the pages, they will have a title and a list of blocks that belong to them. Every block will have raw HTML stored in it that, when fetched, will be rendered on the client. For this project, you will have two kinds of data:īy using blocks, you can replicate the way Notion creates content. This will not only allow you to create data structures, but will also store your data.

As mentioned above, Strapi will act as your content hub. To start with, you will need a Strapi backend.

In order to create your Notion clone, you will need two important components: a Next.js client and a Strapi server. You will also learn about the GraphQL playground and how to create queries and mutations. In this article, you will get familiar with Strapi and its admin interface. This two-part tutorial series will walk you through the creation of a Notion clone with Strapi and Next.js. Strapi offers many integrations, along with ample documentation on how to integrate it with all the major frontend libraries such as Next.js, React, Vue, Gatsby, and others. You can consume the Strapi API from any client using REST or GraphQL. Not only is it fast, but Strapi is also very developer-friendly. Strapi is the leading open-source content management system (CMS) and will act as our content hub for this project. On top of that, the component-like nature of Notion content not only supports many types of formats (images, links, tables, etc.), but it makes writing and editing a breeze. Its collaborative setting allows teams around the world to document, share, and communicate easily. Notion is a popular note-taking tool loved by many for its responsiveness and dynamic features.
