A publisher-subscriber based chat system
- Python >=3.10
- Uvicorn
- Websockets
- FastAPI
The documentation for both the server and the clients is available in the file documentation.pdf (this documentation is in German, translation pending).
This repository contains a Linux script for quickly starting this project.
To use this script, the packages git, python3.10, and python-venv needs to be available from the command line.
Then, the following commands can be used to start the server:
# Linux
apt-get install Python3.10 Python3.10-venv
git clone https://github.com/DHBW-FN-TIT20/EchoChat
cd EchoChat && ./start.shThe EchoChat server can also be started manually with the following Python dependencies:
# Linux
pip3 install fastapi
pip3 install uvicorn
pip3 install websockets
pip3 install argparse
# Windows
pip install fastapi
pip install uvicorn
pip install websockets
pip install argparse
Alternatively, replace pip3/pip with python -m pip install [package].
Then, the server can be started by invoking uvicorn from the command line.
# Linux
cd EchoChat && uvicorn app:app
# Windows
cd EchoChat
uvicorn app:appThis should create a webserver available at http://127.0.0.1:8000.
Additionally, the repo also contains a Python CLI available under ./app/client.py.
Usage information is available by calling python client.py --help.