Chat Chat is a Django-based real-time chat service inspired by platforms like KakaoTalk and Discord. Unlike traditional chat applications, it structures chat rooms as posts, allowing users to join and participate in conversations based on categorized topics.
- Real-time messaging using Django Channels and WebSockets
- Chat rooms structured like posts, allowing users to join based on interest
- User authentication and session management
- Message persistence via a database
- WebSocket-based real-time updates for seamless communication
Ensure you have the following installed:
- Python 3.x
- Django 4.x
- Django Channels
- Redis (for WebSocket channel layers)
- Clone the repository:
git clone https://github.com/kmgyu/chat_chat.git cd chat_chat - Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Apply migrations:
python manage.py migrate
- Run the development server:
python manage.py runserver
- Open a browser and navigate to
http://127.0.0.1:8000 - Register or log in to create and join chat rooms
- Start real-time conversations with other users
- WebSockets are used to manage real-time messages.
- Django Channels handles WebSocket connections and message broadcasting.
- Redis is used as a channel layer to manage real-time data flow efficiently.
chat_chat/
│── config/ # Project configuration files
│── ws_chat/ # Core chat application
│── templates/ # HTML templates
│── requirements.txt # Dependency list
│── manage.py # Django management script
- Implement user roles and permissions in chat rooms
- Add support for multimedia messages
- Improve UI/UX with frontend frameworks
Contributions are welcome! Please follow the standard GitHub workflow:
- Fork the repository
- Create a new feature branch
- Commit changes and push to your fork
- Submit a pull request
This project is licensed under the MIT License.