Co-Write is a powerful, modern, and intuitive collaborative-text editor platform, designed to enhance teamwork and productivity. Inspired by Google Docs, Co-Write allows multiple users to work on the same document simultaneously with real-time synchronization. Whether you're editing a document with colleagues, sharing it with clients, or managing multiple projects, Co-Write ensures seamless collaboration and document management.
Built using the latest web technologies, Co-Write leverages Next.js for a robust and dynamic user interface, Liveblocks for real-time collaboration, and TailwindCSS for responsive design and elegant styling. The platform is secured with GitHub authentication, allowing users to safely log in, manage their documents, and collaborate without worrying about security breaches.
- Real-Time Collaboration: No more waiting to see changes—edit documents with your team in real time.
- Advanced Document Management: Create, share, and organize documents with ease, equipped with rich features like permissions management and threaded comments for in-depth discussions.
- Seamless User Experience: Co-Write is fully responsive, offering a smooth experience on desktops, tablets, and mobile devices.
Designed to demonstrate advanced developer skills in handling real-time environments, scalable architecture, and modern UI/UX practices, Co-Write is the ideal project for showcasing my expertise in web development and collaborative tools.
- Authentication: Secure GitHub sign-in/out using NextAuth for session management.
- Real-time Collaboration: Multiple users can edit documents simultaneously, with real-time updates powered by Liveblocks.
- Documents Management:
- Create, delete, and share documents via email or link with view/edit permissions.
- List all documents owned or shared, with search and sorting options.
- Comments: Add inline and general comments with threaded discussions.
- Active Collaborators: See real-time presence indicators for active collaborators.
- Notifications: Get notified of document shares, new comments, and collaborator activities.
- Responsive Design: Optimized for all devices and screen sizes.
- Modern Tech Stack: Built with cutting-edge tools like Next.js, TypeScript, TailwindCSS, and ShadCN for a smooth developer and user experience.
- Frontend: Next.js, TypeScript, TailwindCSS
- Real-time Collaboration: Liveblocks
- Editor: Lexical Editor
- UI Components: ShadCN
- Authentication: NextAuth
To get a local copy up and running, follow these steps.
-
Clone the repository
git clone https://github.com/your-username/co-write.git
-
Navigate to the project directory
cd co-write
-
Install dependencies
npm install
-
Set up environment variables
Create a
.env.local
file in the root directory and add the following variables:NEXTAUTH_URL=http://localhost:3000 GITHUB_ID=your_github_client_id GITHUB_SECRET=your_github_client_secret
For authentication, you need to set up a GitHub OAuth App. You can do that here.
-
Run the development server
npm run dev
Visit http://localhost:3000 in your browser to view the project.
Co-Write is deployed on Vercel. To deploy your own instance, follow these steps:
- Create a Vercel account at Vercel.
- Link your GitHub repository with Vercel.
- Set up the environment variables (as mentioned above) in your Vercel project settings.
- Deploy the project, and it will be live on your chosen domain.
Contributions are welcome! Feel free to open a pull request or submit an issue to report bugs or suggest new features.