CoDoc

A next-generation document collaboration tool designed to handle real-time editing by millions of users.
Description
Issues / PRs
Team Members

CoDoc: Collaborative Document Editing Redefined

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.

Key Features:
  • 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.

Project Structure:
  • 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.

The Problem we are Solving:

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.

Timeline of Progress:
  1. 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.

  2. Current Stage:

    • The project is 90% complete. Integration for saving documents offline in Word and PDF format is still pending.

How We Got There:
  • 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.

What Is Working:
  • User authentication with Clerk.

  • Suggestion integration through a third-party service built with Express.

  • The main functionalities of the collaborative document editor.

What Is Not Working:
  • The remaining task is integrating the feature to save documents offline in Word and PDF formats.

Future Work to Do:
  1. Convert the web application into a desktop application using Electron.

  2. Replace Clerk with our own authentication service.

  3. Replace Liveblocks with our own similar service.

No Issues, PRs or Discussions added.
Neel Jain
Neel Jain
neel_jain
Aman Maurya
Aman Maurya
aman_maurya
Ritesh Jha
Ritesh Jha
ritesh_jha1
Varun Chauhan
Varun Chauhan
varun_chauhan