Skip to content

Awesome-SSP/chatapp

💬 ChatApp

ChatApp is a real-time messaging web application built using Django. It allows users to register, log in, and engage in live conversations with other users. The app features a user-friendly interface, real-time updates via WebSockets (Django Channels), and scalable architecture.


🚀 Features

  • 🔐 User Authentication (Register/Login/Logout)
  • 💬 One-to-One and Group Chat Support
  • 📡 Real-time Messaging using Django Channels & WebSockets
  • 🧠 Message History and Persistence
  • 🔔 Live Typing Indicator (optional)
  • 🌙 Responsive UI with light/dark theme toggle (optional)

🛠 Tech Stack

  • Backend: Django, Django Channels, Redis (for WebSocket handling)
  • Frontend: HTML, CSS, JavaScript, Bootstrap or Tailwind CSS
  • Database: SQLite (default) or PostgreSQL (for production)
  • Deployment: Docker, Gunicorn, Daphne, Nginx

⚙️ Installation

1. Clone the Repository

git clone https://github.com/Awesome-SSP/chatapp.git
cd chatapp

2. Create a Virtual Environment

python -m venv env
source env/bin/activate  # On Windows: env\Scripts\activate

3. Install Dependencies

pip install -r requirements.txt

4. Set up the Database

python manage.py makemigrations
python manage.py migrate

5. Create a Superuser

python manage.py createsuperuser

6. Start the Development Server

python manage.py runserver

📁 Project Structure

chatapp/
├── chat/               # Chat logic (models, consumers, views)
├── users/              # Authentication and user management
├── templates/          # HTML templates
├── static/             # Static files (CSS, JS)
├── chatapp/            # Main Django project settings
├── manage.py
└── requirements.txt

📸 Screenshots

Add relevant screenshots of chat interface, login screen, etc.


🧪 Running Tests

python manage.py test

🚢 Deployment

Use platforms like Render, Heroku, or DigitalOcean for deployment. Make sure to:

  • Use PostgreSQL in production.
  • Configure Daphne or ASGI server.
  • Set up Redis for channels layer.
  • Set environment variables for SECRET_KEY, DEBUG=False, etc.

🤝 Contributing

Pull requests are welcome. For major changes, open an issue first to discuss what you would like to change.


📜 License

This project is licensed under the MIT License.


🙋‍♂️ Author

Made with ❤️ by Awesome-SSP

Support

For support, you can buy me a coffee

Buy Me A Coffee

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors