CoDoc is a collaborative document editor that allows multiple users to create, edit, and manage documents in real-time. The platform ensures secure user authentication, provides suggestion features, and supports saving documents in various formats for offline access.
Real-time Collaboration: Seamlessly allows multiple users to edit documents together in real-time.
User Roles: Supports various user roles, such as creator, editor, and viewer, to manage permissions effectively.
Notifications: Keeps users informed about changes and updates through notifications.
Frontend: Built with Next.js and TypeScript for a robust and efficient user interface.
Backend: Utilizes advanced real-time data handling techniques, potentially incorporating libraries like Liveblocks.
Styling: Styled with Tailwind CSS for a modern and responsive design.
CoDoc addresses the complex challenge of facilitating real-time collaboration for millions of users while ensuring robust security and seamless user experience. Unlike existing solutions, CoDoc's scalability and enhanced functionality set it apart. Additionally, integrating intelligent suggestion features in a Next.js app presented unique compatibility challenges that required innovative solutions.
Initial Stage:
Tech stack was decided, and the system design was created.
Determined the third-party libraries to use for the project's initial implementation and identified which ones to replace in the future.
Current Stage:
The project is 90% complete. Integration for saving documents offline in Word and PDF format is still pending.
Initially, we tried to implement our own authentication system but faced issues, leading us to migrate to Clerk.
To handle suggestions, instead of directly using the problematic package in Next.js, we created a third-party service using Express.
User authentication with Clerk.
Suggestion integration through a third-party service built with Express.
The main functionalities of the collaborative document editor.
The remaining task is integrating the feature to save documents offline in Word and PDF formats.
Convert the web application into a desktop application using Electron.
Replace Clerk with our own authentication service.
Replace Liveblocks with our own similar service.