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.
- 🔐 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
- Backend: Django 4.1
- Database: PostgreSQL
- Static Files: WhiteNoise
- API: Django REST Framework
- Frontend: HTML, CSS, JavaScript
- Authentication: Django's built-in auth system
- Python 3.8 or higher
- pip (Python package manager)
- Git
-
Clone the repository
git clone https://github.com/prateek-code-22/discuso.git cd discuso -
Create and activate virtual environment
# Windows python -m venv venv .\venv\Scripts\activate # Linux/MacOS python3 -m venv venv source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Configure environment variables
- Create a
config.jsonfile in the root directory with:
{ "SECRET_KEY": "your-secret-key" } - Create a
-
Apply database migrations
python manage.py migrate
-
Create a superuser (admin)
python manage.py createsuperuser
-
Collect static files
python manage.py collectstatic
-
Run the development server
python manage.py runserver
-
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
- Open your browser and navigate to
- Register an account or log in
- Browse existing discussion rooms or create a new one
- Join rooms and participate in discussions
- Create topics and organize rooms
- Customize your profile with avatar and bio




