Skip to content

It Is a siple Collaborative Text Editor Written in C

Notifications You must be signed in to change notification settings

satyendhran/Text-Editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MEGATHON 25 - Collaborative Rich Text Editor Complete Feature Documentation 🎯 CORE FEATURES

  1. Multi-User Collaborative Editing

    Real-time simultaneous editing by multiple users Live cursor positions visible for all connected users Live text selections visible with user-specific colors Each user gets a unique color for identification Username labels displayed above cursors User join/leave notifications in real-time Connection status indicator (🌐 LIVE badge)

  2. Authentication & Authorization

    Username/password authentication system User database with encrypted passwords (SHA-256) Permission-based access control: READ - View document only WRITE - Edit document EXECUTE - Run code blocks ADMIN - Full administrative access Default users: admin/admin123, user/user123 Beautiful authentication dialog with fields for: Server host and port Username Password (masked)

  3. Conflict Prevention System

    Region locking mechanism Lock requests before editing Automatic lock release after edit Conflict notifications when editing locked regions Visual feedback for locked areas Prevents simultaneous edits in same region

  4. Offline Editing & Synchronization

    Edit documents while disconnected Operations cached locally Automatic sync when reconnected Conflict resolution on sync Operation queue management Persistent cache to disk

  5. Version Control & History

    Automatic version snapshots every 50 operations Manual version creation with commit messages Version history browsing (up to 1000 versions) Revert to previous versions Timestamp and author tracking Version comparison capability

πŸ’¬ COMMUNICATION FEATURES 6. Integrated Chat System

 Real-time text chat between users
 Toggle with Ctrl+T
 Scrollable message history (100 messages)
 System notifications (user joins/leaves, conflicts)
 User identification by name
 Chat input with Enter to send
 Beautiful overlay UI with transparency
  1. AI Integration Ready

    AI message support in chat protocol Distinguished AI vs user messages AI completion hooks (ready for GPT integration) Code suggestion support

πŸ“ TEXT EDITING FEATURES 8. Rich Text Editor

 Full UTF-8/Unicode support
 Multi-line editing
 Line numbers (toggle with Ctrl+L)
 Cursor positioning with mouse clicks
 Text selection with mouse drag
 Keyboard-based selection (Shift + arrows)
  1. Syntax Highlighting

    C language syntax highlighting Keyword recognition (int, char, if, else, etc.) String highlighting (green) Comment highlighting (gray) Number highlighting (orange) Color-coded tokens Multi-line comment support

  2. Advanced Editing Operations

    Copy (Ctrl+C) Cut (Ctrl+X) Paste (Ctrl+V) Select all (Ctrl+A) Select line (Ctrl+Q) Undo/Redo ready Auto-indentation on Enter Tab to spaces (4 spaces)

πŸ” SEARCH & NAVIGATION 11. Search Functionality

 Find text (Ctrl+F)
 Live search as you type
 Case-sensitive search
 Next occurrence navigation
 Search buffer display in status bar
  1. Go To Line

    Jump to specific line (Ctrl+G) Line number input Bounds checking Instant navigation

πŸ’» CODE EXECUTION 13. Executable Code Blocks

 Run current file (Ctrl+F5)
 Language detection by file extension
 Support for:
    C language (auto-compile with gcc)
    Python (python3)
    Bash scripts
 Output display in chat
 Error messages displayed
 Sandboxed execution
 Real-time code execution results

πŸ“‚ FILE MANAGEMENT 14. File Operations

 New file (Ctrl+N)
 Open file (Ctrl+O)
    Directory browser
    File browser
    Navigate up (..)
    Visual directory indicators (/)
 Save file (Ctrl+S)
 Save as dialog
 Auto-detect file encoding
 Changed indicator (*) in status bar
  1. File Browser

    Current directory display Parent directory navigation File and folder listing Visual folder indicators Enter to open/navigate Full path display

🎨 USER INTERFACE 16. Modern UI Design

 Dark theme with custom colors
 Smooth animations
 Rounded corners
 Transparency effects
 Color-coded elements
 Professional aesthetic
  1. Status Bar

    Current filename Modification indicator Cursor position (line:column) Total lines count Total characters count Collaborative mode indicator Online users count

  2. Visual Feedback

    Cursor blinking Selection highlighting Line highlighting Error notifications with fade effect FPS counter (debug mode) Mouse cursor changes (I-beam in text)

πŸ–±οΈ INPUT & CONTROLS 19. Keyboard Shortcuts

File Operations: Ctrl+N - New file Ctrl+O - Open file Ctrl+S - Save file

Editing: Ctrl+C - Copy Ctrl+X - Cut Ctrl+V - Paste Ctrl+A - Select all Ctrl+Q - Select line Tab - Insert 4 spaces Enter - New line (auto-indent)

Navigation: Ctrl+F - Find text Ctrl+G - Go to line Arrow keys - Move cursor Shift+Arrows - Select text

View: Ctrl+L - Toggle line numbers Ctrl++ - Zoom in (increase font) Ctrl+- - Zoom out (decrease font) Ctrl+D - Toggle debug info

Collaboration: Ctrl+M - Connect/Disconnect Ctrl+T - Toggle chat Ctrl+H - Help screen Ctrl+F5 - Run code

General: Escape - Cancel/Close dialogs

  1. Mouse Support

    Click to position cursor Click and drag to select Scroll wheel support Button hover effects Interactive UI elements

🎬 MULTIMEDIA SUPPORT 21. Image Support

 Embed images in document
 Load from file
 Resize to fit (400x400)
 Position-based rendering
 PNG, JPG, BMP formats
  1. Media Manager

    Track multiple media items Position-aware rendering Memory management Lazy loading

πŸ”§ TECHNICAL FEATURES 23. Network Protocol

 Custom binary protocol over TCP
 20+ message types
 Efficient serialization
 Version tracking
 Timestamp support
 Payload compression ready
  1. Performance

    60 FPS rendering Efficient buffer management Dynamic array implementation Minimal memory allocations Optimized text rendering Lazy syntax highlighting

  2. Reliability

    Heartbeat system (5 second intervals) Connection timeout detection (30 seconds) Automatic reconnection attempts Graceful disconnection Error handling throughout Resource cleanup on exit

  3. Threading

    Multi-threaded server (one thread per client) Thread-safe operations Mutex-protected shared data Async network operations Non-blocking UI

πŸ“Š STATISTICS & MONITORING 27. Real-time Statistics

 Line count
 Character count
 Cursor position
 Connected users count
 Connection status
 Document version
  1. Debug Information

    FPS counter Frame time Network latency (ready) Operation logs

πŸ›‘οΈ SECURITY FEATURES 29. Data Security

 Password hashing (SHA-256)
 Secure authentication
 Permission validation
 Input sanitization
 Buffer overflow protection
  1. Network Security

    Message size limits (10MB) Rate limiting ready Timeout protection Invalid message rejection

πŸ“± CROSS-PLATFORM 31. Platform Support

 Linux (primary)
 macOS (via Raylib)
 Windows (via Raylib)
 BSD systems
  1. Window Management

    Resizable window Custom icon Title bar Fullscreen ready

πŸŽ“ HELP SYSTEM 33. Built-in Help

 Comprehensive shortcuts list
 Feature documentation
 Collaborative features guide
 ESC to close

πŸ”„ OPERATIONAL TRANSFORMATION 34. Conflict Resolution

 Insert operation transformation
 Delete operation transformation
 Position adjustment algorithms
 Version reconciliation
 Merge conflict detection
 Last-write-wins fallback

πŸ“¦ DELIVERABLES Complete System Includes:

Server - Multi-client collaborative server
Client - Full-featured text editor
Network Layer - Robust communication protocol
Authentication - User management system
UI Components - Beautiful, modern interface
File System - Complete file I/O
Chat System - Real-time messaging
Version Control - Document history
Code Execution - Sandboxed runner
Media Support - Image embedding

About

It Is a siple Collaborative Text Editor Written in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages