/djangologue

Real-time chat application built with Django

Primary LanguagePython

Djangologue

Djangologue is a real-time chat application built with Django, utilizing Django Rest Framework for RESTful APIs, Django Channels for handling WebSockets, and Daphne as the ASGI server.

Features

  • Real-time messaging: Engage in instant messaging with other users using WebSockets for real-time communication.
  • User authentication and room permission checks: Securely login to access the chat application and join only the rooms you have permission to access, ensuring privacy and security.
  • Message storage and retrieval: All messages are stored in the database and can be retrieved via a RESTful API endpoint.
  • RabbitMQ integration: Utilizes RabbitMQ for sending emails asynchronously.

Requirements

  • Python 3.x
  • Django
  • Django Rest Framework
  • Django Channels
  • Daphne
  • RabbitMQ

Installation

  1. Clone the repository:
git clone git@github.com:aminamerian/djangologue.git
  1. Install dependencies:
cd djangologue
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
  1. Apply migrations:
python manage.py migrate
  1. Run the development server:
python manage.py runserver
  1. Run RabbitMQ consumer for email sending:
python manage.py consume_rabbitmq
  1. Access the application at http://localhost:8000/.

Contributing

Contributions are welcome! Please feel free to open issues or submit pull requests.