DiscussMate is a real-time chatting app where users can discuss various topics in specialized rooms. The app features an API built with Django Rest Framework and includes a user authentication system.
Live Preview: discussmate.onrender.com
├── base/
│ ├── admin.py
│ ├── api/
│ │ ├── serializers.py
│ │ ├── urls.py
│ │ ├── views.py
│ │ └── init.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations/
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ ├── views.py
│ └── init.py
├── manage.py
├── mate/
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
│ └── init.py
├── requirements.txt
├── static/
│ ├── js/
│ │ └── script.js
│ └── styles/
│ ├── main.css
│ └── style.css
└── templates/
├── base/
│ ├── activity.html
│ ├── activity_component.html
│ ├── delete.html
│ ├── feed_component.html
│ ├── home.html
│ ├── login_register.html
│ ├── profile.html
│ ├── room.html
│ ├── room_form.html
│ ├── topics.html
│ ├── topics_component.html
│ └── update-user.html
├── main.html
└── navbar.html
- Real-time chat functionality
- Topic-specific chat rooms
- User authentication system
- API built with Django Rest Framework
App Hosting: Render.
Media Storage: Cloudinary
The idea for this project was inspired by a YouTube tutorial on Traversy Media by Dennis Ivy. The theme is adapted from his repository.
During this project, I enhanced my knowledge of Django and learned new things such as Django Rest Framework. This project has been a valuable learning experience.
To set up this project locally, follow these steps:
-
Clone the repository
git clone https://github.com/JunaidSalim/DiscussMate.git cd discussmate
-
Create and activate a virtual environment
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required packages
pip install -r requirements.txt
-
Set up the environment variables Create a .env file in the root directory and add the necessary environment variables:
ENVIRONMENT=development SECRET_KEY=your_secret_key DATABASE_URL=your_database_url CLOUD_NAME=your_cloud_name API_KEY=your_cloud_api_key API_SECRET=your_cloud_api_secret
-
Apply the database migrations
python manage.py migrate
-
Create a superuser
python manage.py createsuperuser
-
Run the development server
python manage.py runserver
-
Access the application
Open your web browser and navigate to http://127.0.0.1:8000 to access the application.
Contributions are welcome! Feel free to submit issues, fork the repository, and send pull requests. For major changes, please open an issue first to discuss what you would like to change.