Skip to content

DiscussMate is a real-time chat application built using Django. It allows users to engage in discussions on various topics within dedicated rooms.

License

Notifications You must be signed in to change notification settings

JunaidSalim/DiscussMate

Repository files navigation

DiscussMate

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.

Repository Structure

├── 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

Features

  • Real-time chat functionality
  • Topic-specific chat rooms
  • User authentication system
  • API built with Django Rest Framework

Project Hosting

App Hosting: Render.
Media Storage: Cloudinary

Inspiration

The idea for this project was inspired by a YouTube tutorial on Traversy Media by Dennis Ivy. The theme is adapted from his repository.

Learning Experience

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.

Setup Instructions

To set up this project locally, follow these steps:

  1. Clone the repository

    git clone https://github.com/JunaidSalim/DiscussMate.git
    cd discussmate
    
  2. Create and activate a virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
    
  3. Install the required packages

    pip install -r requirements.txt
    
  4. 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
    
  5. Apply the database migrations

    python manage.py migrate
    
  6. Create a superuser

    python manage.py createsuperuser
    
  7. Run the development server

    python manage.py runserver
    
  8. Access the application

    Open your web browser and navigate to http://127.0.0.1:8000 to access the application.

Contributing

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.

About

DiscussMate is a real-time chat application built using Django. It allows users to engage in discussions on various topics within dedicated rooms.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published