Edigo is a collaborative text editor that allows real-time editing across multiple users. It utilizes Conflict-free Replicated Data Types (CRDTs) to ensure consistency across all instances.
- Real-time collaborative editing
- Network-based session sharing
- Syntax highlighting for various programming languages
- Built-in file management
- Go (Golang) for backend logic
- CRDT for conflict resolution
- UDP for session discovery
- TCP for data synchronization
- Editor: Manages the text editing functionality and user interface.
- CRDT: Handles data consistency and conflict resolution.
- Network: Manages session creation, discovery, and data transmission.
- UI: Provides the user interface for the editor.
- Run the application:
go run ./cmd/main.go [filename] - Use the menu to create or join a collaborative session.
- Edit the file collaboratively in real-time.
To contribute to the project:
- Clone the repository
- Install dependencies:
go mod tidy - Make your changes
- Run tests:
go test ./... - Submit a pull request