I have tried to build the Notion clone application as part of learning NextJs. I learnt to use production ready tools like Clerk authentication system and Convex real-time database for optimised and performant application.
- User should be authenticated using gmail or github to get started with the application
- User can create new document
- User can change the title of the document which is updated in real time across the screen with help of convex real time database
- User can archive the documents (soft deleting). Basically single document can have parent documents as well as children documents. If the Parent document is archived, all the children documents also will be archived
- User can restore archived documents from the trash box
- User need to confirm before delete the document permanently
- User can add cover image to their documents
- User can pick the favourite icon for their document
- User can publish their document and share the link with others to access it
- User can un-publish their document so that others will not have access to it
- User can search their documents
- Dark mode is available