wells1989 / djangoChat-mini-project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Table of Contents

Description

This Chatroom mini app is a Django-based web application, focusing on using Web Sockets to allow asynchronous requests alongside the synchronous HTTP requests used in prior projects.

The App focused on asynchronous Django using Web Socket , and so the UI was kept visually simple.

Tech Stack: Python / Aysnchronous requests with Django Channels / ORM with Django, JS DOM manipulation / tailwindcss

Installation

  1. Clone the repository:

    gh repo clone wells1989/djangoChat-mini-project
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Apply database migrations:

    python manage.py migrate 
    
  4. Run the development Server:

    python manage.py runserver 
    

Access the app at http://localhost:8000 in your web browser.

Usage

  • The homepage shows the list of Chatrooms available ... Screenshot (523)

  • And in each Chatroom the messages can be added at the bottom, using Web Sockets to allow multiple simultaneous requests. The room page also used DOM manipulation to add new messages as well as adding key features such as auto-scroll on sending a new message. Screenshot (522)

Future-development:

  • As the focus of the project was on asynchronous Django programming, other features (logging in and registering / editing and deleting the messages) was not included in this first version.
  • If this project was to be fully deployed, other features (likes on each message by altering the message model, creating new rooms via Django forms, adding message room favourites to Django's built-in User model to display in the front end.)