Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/devanshu-17/hermes-grpc

A Real Time Chat App developed using Python (PyQT) and gRPC
https://github.com/devanshu-17/hermes-grpc

grpc pyqt5 python

Last synced: 7 days ago
JSON representation

A Real Time Chat App developed using Python (PyQT) and gRPC

Awesome Lists containing this project

README

        

![Copy of VOIS_Hackathon](https://user-images.githubusercontent.com/93381397/226014002-cbad661b-4899-41c4-8708-62327d5832b8.png)

# Hermes - Real-Time Chat Application

Hermes is a real-time chat application developed using Python and PyQt6 frameworks along with the gRPC protocol. This project was developed by Devanshu Mahapatra for an Internal Hackathon at APSIT.

![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54)
![PyQt6](https://img.shields.io/badge/Framework-PyQT6-orange?style=flat-square&logo=appveyor)
![gRPC](https://img.shields.io/badge/Protocol-gRPC-blueviolet?style=flat-square&logo=appveyor)
![MongoDB](https://img.shields.io/badge/MongoDB-%234ea94b.svg?style=for-the-badge&logo=mongodb&logoColor=white)

# Description

Hermes provides a real-time chatting platform for multiple users. It allows users to create an account, login, and chat with other users online. The chat application uses a client-server architecture, where the client is developed using PyQt6 and the server is developed using Python's gRPC library.

The application's graphical user interface (GUI) is developed using PyQt6, a popular Python framework for developing desktop applications. The server-side logic is developed using gRPC, which is an open-source remote procedure call (RPC) framework that simplifies the development of microservices.

The database used for this project is MongoDB which stores the authentication detail about the users.

# Installation

To run this project on your machine, follow the steps below:

### Clone the repository using the following command:

```bash
git clone https://github.com/Devanshu-17/Hermes.git
```

### Install the required dependencies using the following command:

```bash
pip install PyQt6 datetime sys pymongo grpc concurrent
```

### Start the server using the following command:

```bash
python server.py
```

### Start the Main Gui using the following command:

```bash
python login.py
```

## Screenshots

## Login Screen

New Screen Shot Name 2023-03-18 at 1 25 11 AM

## Chat Screen

New Screen Shot Name 2023-03-18 at 1 26 09 AM

## License

This project is licensed under the MIT License - see the LICENSE.md file for details.

[![Licence](https://img.shields.io/github/license/Ileriayo/markdown-badges?style=for-the-badge)](./LICENSE)

## Contributing:

If you wish to contribute to Hermes, please submit a pull request with your proposed changes. We welcome contributions from the community and will do our best to review and incorporate them into the project.

## Authors

- [@Devanshu-17](https://github.com/Devanshu-17)

## Contact:

If you have any questions or concerns about Hermes, please contact us at [email protected]. We appreciate your feedback and will do our best to respond as soon as possible.

### Thank you for choosing Hermes!