Skip to content

SwieciloM/Wassup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

131 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wassup is a real-time web chat application built with Django for educational purposes. The project aims to provide a straightforward platform for small- and medium-sized groups to communicate without unnecessary add-ons. After logging in, users access a dashboard that lists rooms in three categories: rooms they own, rooms in which they are guests, and public rooms that can be joined at any time. Within any room, participants can exchange text or photo messages in real time, and the full conversation history remains available at all times. Room owners can edit settings, hand ownership to another member, or delete the room. Participants may edit settings if owner allows it, leave room or mark it as a favourite for quick access. These live interactions are delivered over WebSocket connections managed by Django Channels, so updates reach every client immediately without page reloads and with minimal network overhead.

Features

  • User authentication with registration and login
  • Public and private chat rooms with role-based access
  • Real-time text and image messaging
  • Persistent message history for each room
  • Option to mark rooms as favourites
  • Secure data access (only authorised members can view messages and images)

Technologies Used

  • Backend: Django, Django Channels, Daphne, Redis (prod)
  • Frontend: HTML, CSS, JavaScript
  • Database: SQLite (dev), PostgreSQL (prod)
  • Other: WhiteNoise, django-environ, django-select2

Local Installation (Windows)

  1. Clone the repository
    git clone https://github.com/SwieciloM/Wassup.git
    cd Wassup
  2. Create and activate a virtual environment
     python -m venv .venv
     .venv\Scripts\activate
  3. Install dependencies
     pip install -r requirements.txt
  4. Create a .env file with at least:
     echo SECRET_KEY=your_secret_key > .env
  5. Apply migrations to set up the database
     python manage.py migrate
  6. Start the development server
     python manage.py runserver
  7. Open the application in your browser at http://127.0.0.1:8000

Usage

  1. Register a new account or log in.
  2. Create or join a public chat room.
  3. Start messaging in real-time!
  4. Favorite or leave rooms at any time.

License

This project is licensed under the MIT License – see the LICENSE file for details.

About

Wassup is a real-time chat app for small and mid-sized communities. It offers chat-room management, instant text and photo messaging, conversation history, and protected file sharing.

Topics

Resources

License

Stars

Watchers

Forks

Contributors