GithubHelp home page GithubHelp logo

jethliya-balaji / django-chat-app Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 51 KB

This is a real-time chat application built with Python, Django, Django Channels, Websocket and Redis as the channels layer. The frontend design was created using Tailwind CSS.

Home Page: https://jethliyabalaji-chat.up.railway.app/

Python 34.19% CSS 31.84% JavaScript 5.79% HTML 27.91% Procfile 0.28%
css django django-channels html python railway-app redis websocket javascript learning tailwindcss

django-chat-app's Introduction

Django Chat App

Django Chat App is a real-time chat application built using Python, Django, Tailwind CSS, Django-channels, WebSocket, and Redis as the channels layer. This app allows users to create public and private chat rooms, and communicate with other users in real-time.

What I Learned

During the development of this project, I learned how to:

  • Integrate Websocket and Django to build real-time chat applications.
  • Use Django Channels and Redis as the channels layer to handle WebSocket - requests and push messages to the clients in real-time.
  • Build responsive and modern user interfaces using Tailwind CSS. (Yay! I know that not good. not a Frontend guy.)
  • Implement user authentication and authorization using Django's built-in - authentication system.
  • Use Django ORM to implement CRUD operations for the chat rooms.
  • Build a feature to create public and private chat rooms.

Features

  • Sign-up, sign-in, and sign-out functionality
  • Create and join public and private chat rooms
  • Real-time communication using Websocket and Redis
  • Edit and delete rooms
  • View a list of all public and private rooms
  • Responsive design using Tailwind CSS

Requirements

  • Python 3.x (I used 3.10.9)
  • Django 3.x (I used 3.2.18)
  • Channels(I used 3.0.5)
  • Tweak(I used 1.4.12)

โ— This is very important

NOTE: Before running the app, please ensure the following steps:

If you are running the app on a development server, please comment out the Postgres database setting and Redis channel layer in the settings.py file and uncomment the In-Memory Channel Layer and SQLite3 database settings.

If you are using a .env file, please ensure that you provide important environment variables such as SECRET_KEY, DEBUG, and ALLOWED_HOSTS. If you want to use the environment variables directly, please comment out all the os.environ.get functions in the settings.py file and provide all the environment variables directly.

By following these steps, you will be able to run the app smoothly without any errors related to database or environment variables.

Support

If you need any help or have any questions, please feel free to contact me.

Conclusion

In conclusion, the chat application is a useful tool for facilitating communication between users in real-time. The application makes use of various technologies such as Django, Channels, and Redis to provide a seamless experience for users. The different components of the application, such as the URL patterns and HTML templates, work together to create a functional and aesthetically pleasing user interface. However, before running the application, it is important to ensure that the necessary environment variables are properly configured, especially if using a .env file. By following the instructions and best practices provided, developers can create a reliable and secure chat application that meets the needs of their users.

Fun Section

The demo web site is up and running at here but it may be temporarily down because the developer needs a coffee break. If you find the app helpful, feel free to buy the developer a coffee! here

Authors

Balaji Jethliya - Initial work - GitHub, Twitter

django-chat-app's People

Contributors

jethliya-balaji avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.