Skip to content
/ Lume Public

Lume is a real-time group chat application built with Django, WebSockets, HTMX, and AWS. It allows users to create unique chat groups, send messages instantly, and manage group memberships with permissions.

Notifications You must be signed in to change notification settings

adn26/Lume

Repository files navigation

Lume - The Real-Time Chat App 💬

Lume is a real-time group chat application built with Django, WebSockets, HTMX, and AWS. It allows users to create unique chat groups, send messages instantly, and manage group memberships with permissions.

This project was initially built by following a tutorial by Andreas Jud, with additional custom features added by me.

✨ Features

  • Real-time messaging with WebSockets
  • Create & join chat groups with unique short UIDs
  • Ban/Unban users from groups
  • Notification system
  • Secure user authentication and authorization
  • Media & file sharing (Images, Videos, Docs)
  • Modern HTMX-based UI for seamless interactions
  • Deployed on Render (Amazon S3 for media, Whitenoise for static files)

🛠️ Tech Stack

  • Backend: Django, Django Channels
  • Frontend: HTMX, Tailwind CSS
  • Database: PostgreSQL / SQLite (dev)
  • WebSockets: Django Channels, Redis
  • Storage & Deployment: AWS (S3 buckets), Whitenoise, Render(For Deployment)

📸 Screenshots

public_chat

The public chat


notis

Notifications feature



edit_profile

Edit profile


create_groupchat

Create chat feature


created_chat

Created chat


🚀 Getting Started

1️⃣ Clone the Repo

git clone https://github.com/adn26/Lume-TheChatApp.git
cd Lume

2️⃣Install Dependencies

pip install -r requirements.txt

3️⃣ Set Up Environment Variables

Create a .env file and add the following:

ENVIRONMENT = development # use production when configuring env variables on deployment
SECRET_KEY=your-secret-key  
DEBUG=True  
DATABASE_URL=your-database-url  
REDIS_URL=your-redis-url  
AWS_ACCESS_KEY=your-key  
AWS_SECRET_KEY=your-key 

4️⃣ Run Migrations

python manage.py migrate

5️⃣ Start the Server

python manage.py runserver

6️⃣ Open in Browser

Go to http://localhost:8000

✨ Custom Features I Added

  • Ban/Unban logic – Group admins can ban/unban users
  • Notification logic – Users receive notifications for new messages
  • Improved UI/UX – Added animations, improved layout

🎥 Demo Video (click on thumbnail to watch)

Watch the Demo

🛠️ Future Improvements

  • Voice messaging
  • Push notifications
  • Dark mode
  • AI-powered chat suggestions

📜 Credits & License

  • Based on a tutorial by Andreas Jud
  • Custom features and enhancements by Adnan(me)
  • Licensed under MIT License – use it freely!

🤝 Contributing

Feel free to submit PRs or open issues! 🚀

About

Lume is a real-time group chat application built with Django, WebSockets, HTMX, and AWS. It allows users to create unique chat groups, send messages instantly, and manage group memberships with permissions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published