A small chat app made as a home task for a Python intensive course by Skillbox.
The app includes the following features:
- Allow multiple connections
- User authorization by login (should be unique), done by sending a message "login:YOUR_LOGIN"
- Retrieving last 10 messages for new successful authorizations
- Showing the list of already logged in users, so the user can see which names are already taken
- A GUI window to use the chat
- And, of course, all the connected and logged in users can see the messages
This project won the competition of the course! You can feel free to fork and modify, but please provide the link to this repo if you don't do any or only small changes. Otherwise modify it as you see fit.
Install dependencies
pipenv install
You might also need to install С++ build tools
Installing pywin32 suddenly became an issue, even though it worked on the previous version. If you run into issues with it I would recommend the following (which fixed my issue):
- Instead of using requirements.txt I switched to PipFile: PipFile repo and PipFile examples
- Make sure your environment is set up as shown here: Instruction for PyCharm
So, I think, the key was switching to pipeEnv environment and setting up the pipenv executable and PipFile's update seems to do better job with dependencies than just using pip install -r requirements.txt
Go to server location
cd ./src
Run the server script
python server.py
Run the client script
python client.py