ConnectX it's an chat application, the project it's made in PyQt6 framework and works in conjuntion with FastAPI and MySQL as DBMS.
Therefore, in order to run it, you need use this repository as backend: https://github.com/AESMatias/ConnectX-Backend The steps to run the backend server are basically the same: just create your .env file according to the env.sample file inside the repository, and run the main.py file. Do you need an MySQL instance running first.
https://www.youtube.com/watch?v=Nll7__gmBSY
Warning: This project is just a proof of concept that lacks of the minimum requirements and security implementations of any real application. Therefore, this code should not be used, under any circumstance, in any real environment.
The code is open source and free to use under the license attached in this repository
@AESMatias & @emonkey0
- FastAPI 🚄
- Uvicorn 🐍
- PyQt6 🐉
- Qt
- Python 🐉
- sqlalchemy 🗃️
- Chat Application
- Sockets
- Clone this repository to your local machine.
- Install the required dependencies using
pip install -r requirements.txt
. 📦 - Run the
main.py
script inside the main folder. 🏃 - Enjoy 🌐
- Real-time socket implementation.
- Fix the quality issue that occurs when we upload an image.
- Fix the looping of the music.
- We need to add the option that allows maximise or just shrink the windows dimensions.
- We need to ensure that the two sockets (to send and recibe messages) for each user connected were absolute closed through de server (maybe using a periodic func), because if this isn't done, we're having a big vulnerability breach that allows the users collapse the RAM used by the server, blowing up the entire server.
- When someone send a message than contains ":" and more, the app does not work anymore because of the split method, it's very easy to fix though.
- When a new message income, we need to refresh the two instances> the pixmap and the animated label with the new picture that has been changed from our own account session.
- If the user scrolls up, then we need to calculate the current height dinamically obtained through a function, thus allowing them to scrolls up the chat history, because currently there's a func that scrolls the whole chat down every 15 seconds.
Settings icon: Settings icons created by Freepik - Flaticon
Volume icon: Speaker icons created by Pixel perfect - Flaticon
Volume icon muted: Mute icons created by Pixel perfect - Flaticon
Send message icon: Send icons created by kmg design - Flaticon
Undo (back) icon: Back button icons created by icon_small - Flaticon
Reply icon: Reply icons created by Andrean Prabowo - Flaticon
Delete icon: Recycle bin icons created by Uniconlabs - Flaticon
Close Window icon: Close icons created by Vectors Market - Flaticon
Keys Icon: Smart key icons created by Infinite Dendrogram - Flaticon https://www.flaticon.com/free-icon/key_11131969
Wallpaper at Edit Profile Frame: Photo by Dominik Lange on Unsplash
Wallpaper at The initial Frame: Photo by Conny Schneider on Unsplash