Skip to content

A real-time text editor built with Flask and Socket.IO. Users can join rooms via unique URLs to edit documents together, with live updates, dark/light mode, and shareable links for easy collaboration.

Notifications You must be signed in to change notification settings

shinjansarkar/Collaborative-Notepad

Repository files navigation

📓 COLLABORATIVE-NOTEPAD

Empower Collaboration, Transform Ideas into Reality

Last Commit HTML Languages


Built with the tools and technologies:

Flask Markdown Nginx Docker Python

Contributors


🚀 About the Project

Collaborative-Notepad is a collaborative text editor built using Flask and Socket.IO that allows multiple users to edit the same document in real time. It's simple, fast, and perfect for instant collaboration.


✨ Features

  • 🔁 Real-time Collaboration – See live changes from everyone in the room.
  • 🔒 Room-based Editing – Unique room ID for each session.
  • 🌗 Dark/Light Theme – Toggle between light and dark modes.
  • 🔗 Sharable Links – Copy the room URL and invite collaborators instantly.

🛠️ Tech Stack

Backend
Flask, Flask-SocketIO, eventlet, GitLab CI/CD

Frontend
HTML, CSS, JavaScript, Socket.IO Client

Realtime Communication
WebSockets


📦 Installation

1. Clone the Repository

git clone https://github.com/your-username/collaborative-flask-editor.git
cd collaborative-flask-editor

2. Create a Virtual Environment

python -m venv venv

On Windows:

venv\Scripts\activate

On Linux/macOS:

source venv/bin/activate

Install the Dependencies

pip install flask flask-socketio eventlet

Run the Application

python app.py

Open in Browser

http://localhost/

📁 Project Structure

collaborative-flask-editor/
│
├── Dockerfile              # Container setup
├── docker-compose.yml      # Compose config for multi-service deployment
├── .gitlab-ci.yml          # GitLab CI/CD pipeline definition
├── requirements.txt        # Python dependencies
├── app.py                  # Main Flask application
│
├── templates/
│   ├── landing.html        # Landing page UI
│   └── editor.html         # Collaborative editor interface
│
├── static/
│   └── favicon.png         # App icon
│
└── .gitignore              # Ignored files (env, pycache, etc.)

🐳 Docker Usage

▶️ Run the Container

docker-compose up -d

Then open your browser and visit:

http://localhost/

🛑 Stop the Container

docker-compose down

🤝 Contributors

Thanks to the amazing people who helped build this project:

Want to contribute? Fork the repo and open a pull request 🚀

About

A real-time text editor built with Flask and Socket.IO. Users can join rooms via unique URLs to edit documents together, with live updates, dark/light mode, and shareable links for easy collaboration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published