This repository provides demonstrative applications on how to connect with the server and send information to clients.
All demos assume you have Channelstream running with default secrets and ports.
You have a simple notification demo built on flask:
cd notification/ YOUR_PYTHON_ENV/bin/pip install -r requirements.txt YOUR_PYTHON_ENV/bin/flask run Now you can open multiple browser windows to http://127.0.0.1:5000/ and test notifications.
There is also more complex chat application demo included, it showcases multiple channel subscriptions, message edits and user state changing.
YOUR_PYTHON_ENV/bin/pip install -r requirements.txt YOUR_PYTHON_ENV/bin/python chat/app.py Open your browser and point it to following url:
http://127.0.0.1:6543 docker-compose up # for live reload USER_UID=`id -u` USER_GID=`id -g` docker-compose -f docker-compose.yml -f docker-compose.dev.yml up # start the main server docker run --rm -p 8000:8000 -e CHANNELSTREAM_ALLOW_POSTING_FROM=0.0.0.0 channelstream/channelstream:latest # build the demo docker build . -t channelstream_demo # start the demo docker run -ti --rm -p 6543:6543 -e CHANNELSTREAM_URL=http://172.17.0.2:8000 channelstream_demo # start the main server docker run --rm -p 8000:8000 -e CHANNELSTREAM_ALLOW_POSTING_FROM=0.0.0.0 channelstream/channelstream:latest # build the image for landing page backend docker build . -t channelstream_demo # run the backend code with hot reload docker run -ti --rm -p 6543:6543 -e USER_UID=`id -u` -e USER_GID=`id -g` \ -e CHANNELSTREAM_URL=http://172.17.0.2:8000 \ --mount type=bind,source="$(pwd)"/chat,target=/opt/application \ --mount type=bind,source="$(pwd)"/chat/static,target=/opt/application/static \ channelstream_demo # build frontend code builder image docker build . -f Dockerfile.static -t channelstream_demo_statics # run the frontend code with hot reload docker run -ti --rm -e USER_UID=`id -u` -e USER_GID=`id -g` \ -e FRONTEND_ASSSET_ROOT_DIR=/opt/application/static \ --mount type=bind,source="$(pwd)"/chat,target=/opt/application \ --mount type=bind,source="$(pwd)"/chat/static,target=/opt/application/static \ channelstream_demo_statics