Ghostboard Project Description
What is the project about?
Ghostboard is a self-hosted, real-time, synchronized text-sharing application. It allows multiple users to view and edit the same text simultaneously, with changes reflected instantly across all connected clients.
What problem does it solve?
It provides a simple and quick way for users to share text between devices, particularly useful for self-hosters who need a lightweight solution without the overhead of more complex collaboration tools. It avoids the need for external services or complex setups. It is important to note that it is not designed for secure communication.
What are the features of the project?
- Real-time Synchronization: Text updates are instantly visible to all connected clients.
- Web Interface: A web-based text editor is served, allowing users to interact with the shared text.
- Multiple Boards: Supports multiple independent text boards, created dynamically based on the URL path.
- Dark Mode: Includes a dark mode option for better readability in low-light environments.
- Corner Tabs: Non-intrusive tabs for project information and a GitHub link.
- Markdown Support: Full Markdown rendering support for rich text formatting.
- REST API: Allows updating and retrieving text via HTTP requests.
- Dockerized: Server and client are available as Docker images for easy deployment.
- Legacy Command-Line Client: A command-line tool for interacting with the shared text (superseded by the REST API).
- Bundled Nginx: The Docker image includes Nginx, simplifying deployment and reverse proxy configuration.
- iOS Shortcuts Integration
What are the technologies used in the project?
- Python 3.8+: Used for both the server and client-side scripts.
- WebSockets: Used for real-time communication between the server and clients.
- Docker: Used for containerization and easy deployment.
- Nginx: (Bundled in the Docker image) Used as a web server and reverse proxy.
- HTML/CSS/JavaScript: For the web interface.
- REST API
What are the benefits of the project?
- Lightweight and Simple: Easy to set up and use, with minimal dependencies.
- Self-Hosted: Gives users full control over their data and infrastructure.
- Real-Time Collaboration: Enables instant text sharing and collaboration.
- Flexible Deployment: Can be run using Docker or directly with Python.
- Easy Integration: The REST API and legacy command-line client allow integration with other tools and workflows.
What are the use cases of the project?
- Quickly sharing notes or code snippets between devices.
- Collaborative writing or editing in a local network environment.
- Creating temporary shared notepads for meetings or discussions.
- Integrating text sharing into custom workflows via the REST API or command-line client.
- Sharing text between a computer and a mobile device using iOS shortcuts.
