Skip to content

Protik111/collaborative-document-system

Repository files navigation

Collaborative Document System

A real-time, block-based collaborative document editing system built with NestJS and WebSockets. Think of it as a developer-friendly, extensible take on modern documentation platforms.

Key Features

  • Real-Time Collaboration: Seamlessly edit documents with others in real-time, powered by Socket.io.
  • Block-Based Architecture: Dynamic document structure using customizable content blocks.
  • Workspaces & Teams: Organize documents into workspaces and manage member permissions.
  • Full-Text Search: Quickly find documents across your workspaces with integrated search logic.
  • Secure Authentication: Robust user authentication system with JWT access and refresh tokens.
  • Docker-First: Fully containerized development environment for easy setup and scaling.

Tech Stack

Getting Started

Prerequisites

Development Setup

  1. Clone the repository

    git clone https://github.com/Protik111/collaborative-document-system.git
    cd collaborative-document-system
  2. Environment Configuration Create a .env file in the root directory (refer to .env.example if available).

  3. Launch with Docker The easiest way to get started is using Docker Compose:

    docker compose up --build

    This will spin up the NestJS application, PostgreSQL database, and any other required services.

  4. Local Development (Optional) If you prefer running the app locally:

    npm install
    npm run start:dev

Testing

The project maintains high test coverage with Jest.

# Unit tests
npm run test

# End-to-end tests
npm run test:e2e

# Test coverage
npm run test:cov

Project Structure

src/
├── auth/              # Authentication & Security
├── document/          # Document & Block management
├── workspace/         # Workspace organization
├── workspace-member/  # Permission & Membership handling
├── user/              # User profiles & management
├── config/            # System & Provider configurations
└── shared/            # Common utilities & patterns

About

Real-time collaborative document editor featuring block-based editing, workspace management, and full-text search. Powered by NestJS & WebSockets.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages