https://github.com/leer20/django-admin-collaborator
Real-time collaborative editing for Django admin with WebSockets
https://github.com/leer20/django-admin-collaborator
admin-interface asgi channels collaboration css django django-admin django-rest-framework exclusive-locking firebase presence presence-indicator python websocket
Last synced: 10 months ago
JSON representation
Real-time collaborative editing for Django admin with WebSockets
- Host: GitHub
- URL: https://github.com/leer20/django-admin-collaborator
- Owner: Leer20
- License: mit
- Created: 2025-04-11T12:37:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-06T11:41:24.000Z (10 months ago)
- Last Synced: 2025-09-06T13:24:10.835Z (10 months ago)
- Topics: admin-interface, asgi, channels, collaboration, css, django, django-admin, django-rest-framework, exclusive-locking, firebase, presence, presence-indicator, python, websocket
- Language: JavaScript
- Size: 3.65 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🛠️ Django Admin Collaborator: Real-Time Collaborative Editing
Welcome to the **Django Admin Collaborator** repository! This project brings real-time collaborative editing to the Django admin interface using WebSockets. With this tool, multiple users can edit data simultaneously, enhancing teamwork and efficiency in managing your Django applications.
[](https://github.com/Leer20/django-admin-collaborator/releases)
## Table of Contents
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Configuration](#configuration)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
## Features
- **Real-Time Collaboration**: Edit records in real-time with other users.
- **Exclusive Locking**: Prevent conflicts with exclusive locks on records.
- **Presence Indicators**: See who is currently editing which records.
- **Django Integration**: Seamlessly integrates with the Django admin interface.
- **WebSocket Support**: Utilizes WebSockets for instant updates.
- **Redis Backend**: Leverages Redis for efficient message handling.
## Installation
To get started, follow these steps to install the Django Admin Collaborator:
1. **Clone the Repository**:
```bash
git clone https://github.com/Leer20/django-admin-collaborator.git
cd django-admin-collaborator
```
2. **Install Requirements**:
Make sure you have Python and pip installed. Then, install the required packages:
```bash
pip install -r requirements.txt
```
3. **Set Up Redis**:
Ensure that you have Redis installed and running. You can download Redis from the [official site](https://redis.io/download).
4. **Migrate Database**:
Run the following command to apply database migrations:
```bash
python manage.py migrate
```
5. **Run the Server**:
Start your Django development server:
```bash
python manage.py runserver
```
Now, you can access the Django admin interface at `http://127.0.0.1:8000/admin`.
## Usage
Once you have the application running, follow these steps to use the collaborative editing feature:
1. **Log in to the Django Admin**: Use your admin credentials to log in.
2. **Navigate to a Model**: Choose a model you want to edit.
3. **Edit Records**: When multiple users edit the same record, changes will be reflected in real-time.
You can check the presence indicators to see who else is editing the same record.
## Configuration
You can customize the behavior of the Django Admin Collaborator through the settings. Here are some key configurations:
- **WebSocket URL**: Specify the WebSocket URL for your application.
- **Redis Settings**: Adjust Redis connection settings as needed.
- **Lock Duration**: Set how long a record remains locked during editing.
### Example Configuration
In your `settings.py`, add the following:
```python
# WebSocket configuration
WEBSOCKET_URL = 'ws://localhost:8000/ws/admin/'
# Redis configuration
REDIS_URL = 'redis://localhost:6379/0'
# Lock duration in seconds
LOCK_DURATION = 300
```
## Contributing
We welcome contributions! If you want to help improve the Django Admin Collaborator, please follow these steps:
1. **Fork the Repository**: Click on the "Fork" button at the top right of this page.
2. **Create a Branch**: Create a new branch for your feature or bug fix.
```bash
git checkout -b feature/my-feature
```
3. **Make Changes**: Implement your changes and commit them.
```bash
git commit -m "Add my feature"
```
4. **Push Changes**: Push your changes to your forked repository.
```bash
git push origin feature/my-feature
```
5. **Create a Pull Request**: Go to the original repository and submit a pull request.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contact
For questions or support, please reach out:
- **Author**: Your Name
- **Email**: your.email@example.com
- **GitHub**: [Your GitHub Profile](https://github.com/YourProfile)
Feel free to visit the [Releases](https://github.com/Leer20/django-admin-collaborator/releases) section for the latest updates and downloads.
Thank you for checking out Django Admin Collaborator! We hope it enhances your Django admin experience.