Skip to content

This repository contains a C++ Chatroom application supporting features like user authentication, friend management, private and group chats, real-time notifications, and file uploads. The project uses Redis, CMake, and epoll with multithreading for efficient performance.

License

Notifications You must be signed in to change notification settings

ShawnJeffersonWang/messenger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chatroom Application

This repository contains the source code for a Chatroom application developed in C++. The application supports user login, registration, adding friends, blocking/deleting users, private and group chats, real-time notifications, and file uploads. The main technology stack includes Redis, CMake, and epoll with multithreading.

Features

  • User Authentication: Users can register and log in securely.
  • Friend Management: Users can add, delete, and block friends.
  • Private and Group Chats: Users can engage in both private and group conversations.
  • Real-time Notifications: The application provides real-time notifications for new messages and updates.
  • File Upload: Users can upload and share files within the chat.
  • Multithreading: Efficiently handles multiple connections using epoll and multithreading.

Getting Started

To run the Chatroom application locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/ShawnJeffersonWang/Messenger.git
    cd Messenger
  2. Install dependencies: Ensure you have Redis installed and running. Install CMake and any other necessary libraries for the project.

  3. Compile the source code:

    mkdir build
    cd build
    cmake ..
    make
  4. Run the application:

    ./chatroom_executable
  5. Connect to the application: Access the Chatroom application through your preferred client interface.

Dependencies

The Chatroom application relies on the following dependencies:

  • Redis: For data storage and message queueing.
  • CMake: For build configuration.
  • epoll: For handling multiple I/O events efficiently.
  • Multithreading: To handle concurrent connections.

Please ensure that you have these dependencies installed and properly configured before running the application.

Usage

  1. Launch the Chatroom application.
  2. Create an account or log in with your existing credentials.
  3. Explore the user interface and navigate through the available features.
  4. Manage your friends: add, delete, or block users.
  5. Start conversations: engage in private or group chats.
  6. Send notifications and share files in real-time with other users.

Contributing

Contributions to the Chatroom application are welcome. If you encounter any issues or have suggestions for improvements, please submit a pull request or open an issue on this repository.

When contributing, please adhere to the existing code style and follow the established guidelines.

License

This Chatroom application is licensed under the MIT License. You are free to modify and distribute the application as per the license terms.

About

This repository contains a C++ Chatroom application supporting features like user authentication, friend management, private and group chats, real-time notifications, and file uploads. The project uses Redis, CMake, and epoll with multithreading for efficient performance.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published