Skip to content

Discuso is a dynamic discussion platform built with Django that enables users to create, join, and participate in topic-based discussion rooms.

Notifications You must be signed in to change notification settings

prateek-code-22/discuso

Repository files navigation

Discuso - Interactive Discussion Platform

Discuso is a dynamic discussion platform built with Django that enables users to create, join, and participate in topic-based discussion rooms. The platform features real-time messaging, user authentication, and a clean, responsive interface.

User Interface

1. Home Page

Home Page

2. Discussion Room

Chat Room

3. Profile

Update Profile

4. Create Discussion Room

Create Room

5. Update Profile

Room List

Features

  • 🔐 Email-based user authentication
  • 👤 Custom user profiles with avatars and bios
  • 🏠 Create and join discussion rooms
  • 📝 Real-time messaging within rooms
  • 🏷️ Topic-based room organization
  • 🎨 Clean and responsive UI
  • 🔄 REST API support
  • 📱 Mobile-friendly design

Technology Stack

  • Backend: Django 4.1
  • Database: PostgreSQL
  • Static Files: WhiteNoise
  • API: Django REST Framework
  • Frontend: HTML, CSS, JavaScript
  • Authentication: Django's built-in auth system

Local Setup

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)
  • Git

Installation Steps

  1. Clone the repository

    git clone https://github.com/prateek-code-22/discuso.git
    cd discuso
  2. Create and activate virtual environment

    # Windows
    python -m venv venv
    .\venv\Scripts\activate
    
    # Linux/MacOS
    python3 -m venv venv
    source venv/bin/activate
  3. Install dependencies

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

    • Create a config.json file in the root directory with:
    {
        "SECRET_KEY": "your-secret-key"
    }
  5. Apply database migrations

    python manage.py migrate
  6. Create a superuser (admin)

    python manage.py createsuperuser
  7. Collect static files

    python manage.py collectstatic
  8. Run the development server

    python manage.py runserver
  9. Access the application

    • Open your browser and navigate to http://127.0.0.1:8000
    • Admin interface is available at http://127.0.0.1:8000/admin

Usage

  1. Register an account or log in
  2. Browse existing discussion rooms or create a new one
  3. Join rooms and participate in discussions
  4. Create topics and organize rooms
  5. Customize your profile with avatar and bio

About

Discuso is a dynamic discussion platform built with Django that enables users to create, join, and participate in topic-based discussion rooms.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published