Skip to content

A real-time collaborative document editing system with conflict resolution and performance optimization basically it will be obsidian with AI.

Notifications You must be signed in to change notification settings

paritoshtripathi935/DocSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DocSync

A real-time collaborative document editing system with conflict resolution and performance optimization basically it will be obsidian with AI.

πŸš€ Features

  • Real-time document collaboration using WebSocket
  • Document version control and conflict resolution
  • High-performance caching with Redis
  • Scalable message queue system using RabbitMQ
  • RESTful API endpoints for document CRUD operations
  • Authentication and authorization
  • Monitoring and performance metrics

πŸ› οΈ Tech Stack

  • Backend: Python (FastAPI)
  • Database: MongoDB
  • Caching: Redis
  • Message Queue: RabbitMQ
  • Frontend: React + Vite

πŸ—οΈ Project Structure

DocSync/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ models/       # Pydantic models
β”‚   β”‚   β”œβ”€β”€ routers/      # API endpoints
β”‚   β”‚   β”œβ”€β”€ settings/     # Configuration
β”‚   β”‚   └── utils/        # Helper functions
β”‚   β”œβ”€β”€ main.py          # Application entry point
β”‚   └── requirements.txt  # Python dependencies

🚦 Getting Started

  1. Clone the repository

    git clone https://github.com/yourusername/DocSync.git
    cd DocSync
  2. Set up virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r backend/requirements.txt
  4. Set up environment variables Create a .env file in the backend directory:

    MONGODB_URI=mongodb://localhost:27017
    REDIS_URL=redis://localhost:6379
    RABBITMQ_URL=amqp://guest:guest@localhost:5672
  5. Run the application

    cd backend
    python main.py

The server will start at http://localhost:8000

πŸ“š API Documentation

Once the server is running, visit:

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc

πŸ§ͺ Running Tests

pytest backend/tests

πŸ“¦ Deployment

The application can be deployed using Docker:

docker compose up -d

πŸ“œ License

MIT License

πŸ‘₯ Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

About

A real-time collaborative document editing system with conflict resolution and performance optimization basically it will be obsidian with AI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages