Skip to content

Real time chat app which uses webSocket connections for instant messaging and Redis for asynchronous communication and scaling

Notifications You must be signed in to change notification settings

HelixY2J/Krustychat

Repository files navigation

Overview

This chat application is implemented by Django, HTMX, Websockets and Redis.Initially, the browser makes a standard HTTP request to the server to fetch the chat page.Once the page is loaded, HTMX triggers a request to upgrade to a WebSocket connection, allowing asynchronous communication between the browser and server via Django Channels.Each user is assigned an unique channel and to broadcast messages in real time to multiple users,channel layers are used which group individual channels. For efficient communication management,Redis is integrated to provide better in memory storage and caching.

Architecture

Installation

  1. Clone the repo
    git clone https://github.com/HelixY2J/Krustychat.git
  1. Create a virtual environment
    pip install -r requirements.txt
  1. Create the intial database schema
    python3 manage.py makemigrations
    python3 manage.py migrate
  1. Run the server
    python3 manage.py runserver

Features to be added

  • Group chat
  • Private chat room
  • File sharing

About

Real time chat app which uses webSocket connections for instant messaging and Redis for asynchronous communication and scaling

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published