{"id":16318200,"url":"https://github.com/githubjakob/flask-socket-chat-demo","last_synced_at":"2025-09-08T15:37:38.629Z","repository":{"id":187972195,"uuid":"618974587","full_name":"githubjakob/flask-socket-chat-demo","owner":"githubjakob","description":"Demo application to create a chat using flask and socketio","archived":false,"fork":false,"pushed_at":"2023-04-11T07:53:11.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-16T20:28:23.929Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/githubjakob.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-25T22:11:53.000Z","updated_at":"2023-03-25T22:12:41.000Z","dependencies_parsed_at":"2023-08-13T03:21:24.692Z","dependency_job_id":"425efb14-81e3-4c25-bc52-d887195f5d0d","html_url":"https://github.com/githubjakob/flask-socket-chat-demo","commit_stats":null,"previous_names":["githubjakob/flask-socket-chat-demo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/githubjakob%2Fflask-socket-chat-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/githubjakob%2Fflask-socket-chat-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/githubjakob%2Fflask-socket-chat-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/githubjakob%2Fflask-socket-chat-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/githubjakob","download_url":"https://codeload.github.com/githubjakob/flask-socket-chat-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253990503,"owners_count":21995776,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T22:10:16.570Z","updated_at":"2025-05-13T17:16:25.047Z","avatar_url":"https://github.com/githubjakob.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flask-SocketIO-Supervisord Example Application\n\nThis is a simple example application of a chat using Flask and Flask-SocketIO.\n\nIt consists of:\n\n- A Flask application using Flask-SocketIO that handles the Websocket connections\n  (running with gunicorn and an eventlet worker)\n- A Flask application that contains the REST interface for the chat\n  (running with gunicorn and normal sync workers)\n- Redis for handling the inter process communication between the two Flask applications\n- A nginx reverse proxy in front of the two Flask applications\n- Supervisord for running everything in a Docker container\n- Docker compose that runs the Docker container with the example application and a Redis container\n- Python AsyncIO clients for load testing\n\n## Motivation\n\nFlask-SocketIO recommends either using eventlet or gevent as the worker type for the gunicorn web server.\nHowever, an existing Flask application might already run using the regular sync gunicorn workers. Assuming we don't \nwant to change the setup for the existing Flask application we can run the Flask-SocketIO application in a separate\nprocess. In this case a Redis server can be used to handle the inter process communication between the two Flask applications.\n\n## Miro Board \n\nhttps://miro.com/app/board/uXjVMUlDu70=/\n\n## TODO\n\n- Extend the clients for load testing\n- Add a database for storing the chat messages\n- Goal: Run everything in AWS Elastic Beanstalk\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithubjakob%2Fflask-socket-chat-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithubjakob%2Fflask-socket-chat-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithubjakob%2Fflask-socket-chat-demo/lists"}