A chat application built with Django + Channels. It supports public chat rooms, private chats, online user presence, file/image/video messages, and an optional AI assistant.
Choose either of the following ways to start the project:
Prerequisites: Python 3.10+ installed.
- Clone the repository
git clone https://github.com/liaboveall/ChatApp.git
cd ChatApp- Install dependencies
python -m pip install -r requirements.txt- Migrate the database and start the server
python manage.py migrate
python manage.py runserver- Open in browser
http://127.0.0.1:8000
Optional (use Redis as Channels layer, or Postgres):
- Redis: set environment variables and use in production/multi-process scenarios
CHANNEL_BACKEND=redisCHANNEL_REDIS_URL=redis://localhost:6379/0
- Postgres:
USE_POSTGRES=1POSTGRES_DB/POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_HOST/POSTGRES_PORT
- Clone the repository
git clone https://github.com/liaboveall/ChatApp.git
cd ChatApp- Start directly (uses SQLite by default)
docker compose up --build -d- Open in browser
http://127.0.0.1:8000
Optional: Postgres + Redis (recommended for production/scaled replicas)
- In
docker-compose.yml, addUSE_POSTGRES=1to thewebservice and configure thePOSTGRES_*values. - Add/enable the Redis service and set
CHANNEL_BACKEND=redisandCHANNEL_REDIS_URL=redis://redis:6379/0. - After the first start, run migrations in the container:
docker compose exec web python manage.py migrate.
This project adapts and extends an upstream open-source project originally released under the MIT License. Significant changes were made in features (private chat, online users, AI chat, file messages, etc.), structure, and deployment.
- Upstream project: Django-ChatApp (rustyxlol) https://github.com/rustyxlol/Django-ChatApp
- License: MIT (original copyright and license notice retained).
If you are the author of the upstream project, feel free to open an issue/PR for more accurate attribution details.
Released under the MIT License. See the LICENSE file at the project root for details.