# Project Overview
This Real-Time Group Chat application facilitated seamless communication within a group setting. Traditional chat applications often face challenges related to performance and latency, especially during real-time interactions. To overcome these challenges, this project adopts Django and leverages Django Channels for WebSocket connection, enabling instantaneous and interactive chat experiences.
# Problem
Traditional chat applications often rely on databases, leading to increased latency and reduced performance during real-time interactions. To address this, I diverges from the conventional approach by opting not to utilize a traditional database, aiming to enhance performance and reduce latency.
# Solution
By leveraging Django and incorporating Django Channels for WebSocket, this application achieves real-time communication without relying on a traditional database and user authentication. This solution not only enhances performance but also contributes to the lightweight nature of the application, making it highly scalable and efficient in handling group communication.
# Scopes
The project's current scope prioritizes real-time group communication, emphasizing performance, and low latency. However, future development can expand the application's capabilities by incorporating database functionality. This expansion could enable features such as chat history storage or email content after closed, allowing users to access past conversations and revisit shared content.
# Challenges During Development
The primary challenge during development was creating a real-time chat system without relying on a traditional database. I have stored the chat history for each group in list and used pure js fo DOM manipulation.
# Challenges During Deployment
Deploying a real-time application poses unique challenges, especially when handling WebSocket connections in sucure ssl server. at the begaining I have used a vps to run this applicaiton and it worked, but running it on a vps server is not cost effective for me, so I decided to use the railway platform.
# Future Development
Future development can explore incorporating database functionality for chat history storage, providing users with a comprehensive view of past conversations. Additionally, implementing email notifications containing chat history could enhance user convenience by offering an external means to review conversations.
By addressing these challenges and considering future development possibilities, this Real-Time Group Chat application aims to provide users with an efficient, scalable, and dynamic platform for seamless group communication.