Skip to content

The Django Chat Application is an engaging and user-friendly web-based platform designed to facilitate real-time chat conversations among users. This versatile application combines secure user authentication, robust friend management, and seamless messaging capabilities to create a dynamic and interactive social environment.

License

Notifications You must be signed in to change notification settings

devnamdev2003/django-chat-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Django Chat Application is a web-based platform that allows users to engage in real-time chat conversations with their friends, manage their profiles, send and accept friend requests, and search for other users within the application. This project provides a user-friendly interface for communication and social interaction, utilizing API calls and polling for real-time chat updates.

Key Features

  • User Authentication: Users must first log in to access the application. New users have the option to sign up for an account.

  • User Profiles: Each user has a profile page displaying their information. Users can edit their profile information.

  • Navigation: The application features a simple UI with the following buttons: "Edit Profile," "Logout," and "Search" to allow users to find other users on the platform.

  • Friend Management: Users can maintain two lists: "Friend List" and "Request List." Users can click on friend names in these lists to access profiles or start chats.

  • Chatting: Users can initiate chat conversations by clicking on a friend's name. Real-time chat functionality is implemented using API calls and polling, enabling near-instant communication.

  • Friend Requests: Users can send friend requests to others by visiting their profiles. Pending friend requests can be accepted or rejected. Accepted requests add users to each other's friend lists.

  • Friend Profile Options: Users can perform actions on friends' profiles, including "Remove Friend" and "Chat."

User Flow

  1. User logs in or signs up.
  2. On the dashboard, the user can:
    • Edit their profile information.
    • Log out of their account.
    • Search for other users.
    • View their friend list and pending friend requests.
  3. In the friend list and request list:
    • Clicking on a friend's name opens a chat with them.
    • Clicking on a pending request opens the requester's profile.
    • Pending requests can be accepted or rejected.
  4. In a friend's profile:
    • The user can choose to remove the friend or start a chat.

Technology Stack

  • Django (Python web framework)
  • Front-end technologies for the UI (HTML, CSS, JavaScript)
  • API calls and polling for real-time chat updates
  • Database for user information and chat history (e.g., PostgreSQL)

Project Goals

  • Create a user-friendly and interactive chat application.
  • Implement secure user authentication and authorization.
  • Provide a smooth and responsive user interface.
  • Enable real-time chat features using API calls and polling.
  • Develop a robust friend management system with friend requests.

Future Enhancements

  • Implement notifications for friend requests and new messages.
  • Add multimedia support (e.g., file sharing, image uploads).
  • Enhance user profiles with profile pictures and additional details.
  • Implement group chats and chat rooms.

Getting Started

To get started with the Django Chat Application, follow these steps:

  1. Clone the repository to your local machine:

    git clone https://github.com/devnamdev2003/django-chat-app.git
  2. Create a virtual environment and install the project dependencies:

    cd django-chat-app
    python -m venv venv
    source venv/bin/activate  # On Windows, use: venv\Scripts\activate
    pip install -r requirements.txt
  3. Set up the database:

    python manage.py migrate
  4. Start the development server:

    python manage.py runserver
  5. Open a web browser and navigate to http://localhost:8000/ to access the application.

Contributions

We welcome contributions from the community! If you'd like to contribute to the project, please follow these guidelines:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them with clear, descriptive commit messages.
  4. Push your branch to your fork.
  5. Create a pull request to merge your changes into the main project.

License

This project is licensed under the MIT License.

Images

Here are some screenshots from the Django Chat Application:

Login Page:

Login

Signup Page:

Signup

Chat Interface:

Chat Interface

Friend Management:

Friend Management

Search Friends

Search Page

Edit Profile

Edit Profile

Profile

Profile

About

The Django Chat Application is an engaging and user-friendly web-based platform designed to facilitate real-time chat conversations among users. This versatile application combines secure user authentication, robust friend management, and seamless messaging capabilities to create a dynamic and interactive social environment.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published