{"id":16109122,"url":"https://github.com/jhwa426/collaborative-editor","last_synced_at":"2026-02-11T22:43:01.570Z","repository":{"id":253327676,"uuid":"843161423","full_name":"jhwa426/Collaborative-Editor","owner":"jhwa426","description":"Built a Full-Stack Collaborative Editor using TypeScript and Next JS, which enabled a collaborative text editor with real-time updates, document management, comments with threading, active collaborator indicators, and responsive design across all devices.","archived":false,"fork":false,"pushed_at":"2024-09-12T00:42:12.000Z","size":613,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-07T14:48:28.920Z","etag":null,"topics":["full-stack-web-development","git","lexical-editor","liveblocks","nextjs","shadcn-ui","tailwindcss","typescript","vercel"],"latest_commit_sha":null,"homepage":"https://collaborative-editor-ce.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jhwa426.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-15T23:08:48.000Z","updated_at":"2024-12-26T22:32:27.000Z","dependencies_parsed_at":"2024-08-26T01:47:01.264Z","dependency_job_id":"73af7f90-08c5-43fc-a40f-328854c225ac","html_url":"https://github.com/jhwa426/Collaborative-Editor","commit_stats":null,"previous_names":["jhwa426/collaborative-editor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jhwa426/Collaborative-Editor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhwa426%2FCollaborative-Editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhwa426%2FCollaborative-Editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhwa426%2FCollaborative-Editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhwa426%2FCollaborative-Editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhwa426","download_url":"https://codeload.github.com/jhwa426/Collaborative-Editor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhwa426%2FCollaborative-Editor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29349116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T20:11:40.865Z","status":"ssl_error","status_checked_at":"2026-02-11T20:10:41.637Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["full-stack-web-development","git","lexical-editor","liveblocks","nextjs","shadcn-ui","tailwindcss","typescript","vercel"],"created_at":"2024-10-09T19:29:45.088Z","updated_at":"2026-02-11T22:43:01.553Z","avatar_url":"https://github.com/jhwa426.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Collaborative Editor\n\n\u003cp\u003e\nBuilt a Full-Stack Collaborative Editor using TypeScript and Next JS, which enabled a collaborative text editor with real-time updates, document management (including create, delete, share, and list operations), comments with threading, active collaborator indicators, and responsive design across all devices.\n\u003c/p\u003e\n\n## [Collaborative Editor](https://collaborative-editor-ce.vercel.app)\n\n### Features\n\n- Authentication: User authentication using Google through NextAuth, ensuring secure sign-in/out and session management\n\n- Collaborative Text Editor: Multiple users can edit the same document simultaneously with real-time updates\n\n- Documents Management: CRDU operations (Create, Delete, Share, List)\n\n  - **Create Documents**: Users can create new documents, which are automatically saved and listed.\n  - **Delete Documents**: Users can delete documents they own.\n  - **Share Documents**: Users can share documents via email or link with view/edit permissions.\n  - **List Documents**: Display all documents owned or shared with the user, with search and sorting functionalities.\n\n- Comments: Users can add inline and general comments, with threading for discussions\n\n- Active Collaborators on Text Editor: Show active collaborators with real-time presence indicators\n\n- Notifications: Notify users of document shares, new comments, and collaborator activities\n\n- Responsive: The application is responsive across all devices\n\n\u003cbr /\u003e\n\n## Technical Skills 💻\n\n\u003cimg align=\"left\" alt=\"React/React Native\" height=\"50px\" src=\"https://cdn.svgporn.com/logos/react.svg\" /\u003e\n\u003cimg align=\"left\" alt=\"Typescript\" height=\"50px\" src=\"https://cdn.svgporn.com/logos/typescript-icon.svg\" /\u003e\n\u003cimg align=\"left\" alt=\"NextJS\" height=\"50px\" src=\"https://cdn.svgporn.com/logos/nextjs-icon.svg\" /\u003e\n\u003cimg align=\"left\" alt=\"tailwindcss\" height=\"50px\" src=\"https://cdn.svgporn.com/logos/tailwindcss-icon.svg\" /\u003e\n\u003cimg align=\"left\" alt=\"ShadCN\" height=\"50px\" src=\"https://avatars.githubusercontent.com/u/139895814?s=280\u0026v=4\" /\u003e\n\u003cimg align=\"left\" alt=\"Liveblocks\" height=\"50px\" src=\"https://pbs.twimg.com/profile_images/1623982338630733826/_dFRCa3T_400x400.png\" /\u003e\n\u003cimg align=\"left\" alt=\"Lexical Editor\" height=\"50px\" src=\"https://seeklogo.com/images/L/lexical-icon-logo-270F9AECD6-seeklogo.com.png\" /\u003e\n\u003cimg align=\"left\" alt=\"Clerk\" height=\"50px\" src=\"https://uploads.productlane.com/7254258eb34a7b4626b86f0fbd4c1ed6.png\" /\u003e\n\u003cimg align=\"left\" alt=\"Git\" height=\"50px\" src=\"https://cdn.svgporn.com/logos/git-icon.svg\" /\u003e\n\u003cimg align=\"left\" alt=\"Vercel\" height=\"50px\" src=\"https://cdn.svgporn.com/logos/vercel-icon.svg\" /\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Getting Started\n\n### Installation\n\n\u003cdetails\u003e\n1. Open Terminal.\n\n2. Change the current working directory to the location where you want the cloned directory.\n\n3. Clone the repository: `git clone https://github.com/jhwa426/Collaborative-Editor`\n\n4. Navigate to the project directory: `cd collaborative-editor`\n\n5. Install the dependencies: `npm install`\n\n6. Set Up Environment Variables\n\nCreate a new file named `.env.local` in the root of your project and add the following content:\n\n```env\n#Clerk\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=\nCLERK_SECRET_KEY=\nNEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in\nNEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up\n\n#Liveblocks\nNEXT_PUBLIC_LIVEBLOCKS_PUBLIC_KEY=\nLIVEBLOCKS_SECRET_KEY=\n```\n\n**Running the Project**\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser to view the project.\n\n7. Open your browser and visit: `http://localhost:3000`\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhwa426%2Fcollaborative-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhwa426%2Fcollaborative-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhwa426%2Fcollaborative-editor/lists"}