Skip to content

yashwantkr002/ChatApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatApp

A modern, full-featured Django chat application with OTP-based authentication, email verification, and a premium UI built with Tailwind CSS and Alpine.js.

Features

  • Custom user model with email and phone authentication
  • OTP verification for signup and password reset (via email)
  • Secure password validation and reset
  • Profile completion and editing
  • Real-time chat (Channels, WebSockets)
  • Responsive, modern UI (Tailwind CSS, Alpine.js)
  • Admin panel for user and chat management
  • Cloudinary integration for profile pictures

Requirements

  • Python 3.10+
  • Django 5.2+
  • Channels
  • Redis (for Channels layer)
  • Tailwind CSS
  • Cloudinary account (for image uploads)
  • SMTP email credentials (for OTP)

Setup

  1. Clone the repository:

    git clone https://github.com/yashwantkr002/ChatApp.git
    cd ChatApp
  2. Create and activate a virtual environment:

    python -m venv env
    env\Scripts\activate  # On Windows
    # or
    source env/bin/activate  # On Linux/Mac
  3. Install dependencies:

    pip install -r requirements.txt
  4. Configure environment variables:

    • Copy .env.example to .env and fill in your secrets:
      • SECRET_KEY, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, CLOUDINARY_CLOUD_NAME, CLOUDINARY_API_KEY, CLOUDINARY_API_SECRET
  5. Apply migrations:

    python manage.py makemigrations
    python manage.py migrate
  6. Create a superuser:

    python manage.py createsuperuser
  7. Run the development server:

    python manage.py runserver
  8. Start Redis (for Channels):

    • Make sure Redis is running on localhost:6379.
  9. Access the app:

Folder Structure

  • ChatApp/ - Django project settings
  • chat/ - Chat app (models, views, consumers)
  • user/ - User app (custom user, authentication, profile)
  • templates/ - HTML templates
  • theme/ - Tailwind CSS config and static files
  • env/ - Python virtual environment

Environment Variables Example (.env.example)

SECRET_KEY=your-django-secret-key
EMAIL_HOST_USER=your-email@gmail.com
EMAIL_HOST_PASSWORD=your-app-password
CLOUDINARY_CLOUD_NAME=your-cloudinary-cloud-name
CLOUDINARY_API_KEY=your-cloudinary-api-key
CLOUDINARY_API_SECRET=your-cloudinary-api-secret

License

MIT


Author: yashwantkr002

For questions or contributions, open an issue or pull request on GitHub.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors