summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <tom@vanderlee.io>2026-06-09 22:53:50 +0200
committerGravatar Tom van der Lee <tom@vanderlee.io>2026-06-09 22:53:50 +0200
commita188df3ae359ab770aac85d19d23739286ef6d41 (patch)
tree0cebfd11277f437eea01fa64cda07da56c2cf7ab
downloadwebsocket-chat-main.tar.gz
websocket-chat-main.tar.bz2
websocket-chat-main.zip
Initial commitmain
-rw-r--r--.gitignore264
-rw-r--r--.python-version1
-rw-r--r--README.md0
-rw-r--r--chat/__init__.py0
-rw-r--r--chat/asgi.py28
-rw-r--r--chat/consumers.py65
-rw-r--r--chat/routing.py7
-rw-r--r--chat/settings.py135
-rw-r--r--chat/templates/chat.html136
-rw-r--r--chat/templates/room.html451
-rw-r--r--chat/urls.py26
-rw-r--r--chat/views.py14
-rw-r--r--chat/wsgi.py16
-rwxr-xr-xmanage.py22
-rw-r--r--pyproject.toml11
-rw-r--r--requirements.txt3
-rw-r--r--uv.lock393
17 files changed, 1572 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6ee6aff
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,264 @@
1# Created by https://www.toptal.com/developers/gitignore/api/pycharm+all,python
2# Edit at https://www.toptal.com/developers/gitignore?templates=pycharm+all,python
3
4### PyCharm+all ###
5# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
6# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
7
8# User-specific stuff
9.idea/**/workspace.xml
10.idea/**/tasks.xml
11.idea/**/usage.statistics.xml
12.idea/**/dictionaries
13.idea/**/shelf
14
15# AWS User-specific
16.idea/**/aws.xml
17
18# Generated files
19.idea/**/contentModel.xml
20
21# Sensitive or high-churn files
22.idea/**/dataSources/
23.idea/**/dataSources.ids
24.idea/**/dataSources.local.xml
25.idea/**/sqlDataSources.xml
26.idea/**/dynamic.xml
27.idea/**/uiDesigner.xml
28.idea/**/dbnavigator.xml
29
30# Gradle
31.idea/**/gradle.xml
32.idea/**/libraries
33
34# Gradle and Maven with auto-import
35# When using Gradle or Maven with auto-import, you should exclude module files,
36# since they will be recreated, and may cause churn. Uncomment if using
37# auto-import.
38# .idea/artifacts
39# .idea/compiler.xml
40# .idea/jarRepositories.xml
41# .idea/modules.xml
42# .idea/*.iml
43# .idea/modules
44# *.iml
45# *.ipr
46
47# CMake
48cmake-build-*/
49
50# Mongo Explorer plugin
51.idea/**/mongoSettings.xml
52
53# File-based project format
54*.iws
55
56# IntelliJ
57out/
58
59# mpeltonen/sbt-idea plugin
60.idea_modules/
61
62# JIRA plugin
63atlassian-ide-plugin.xml
64
65# Cursive Clojure plugin
66.idea/replstate.xml
67
68# SonarLint plugin
69.idea/sonarlint/
70
71# Crashlytics plugin (for Android Studio and IntelliJ)
72com_crashlytics_export_strings.xml
73crashlytics.properties
74crashlytics-build.properties
75fabric.properties
76
77# Editor-based Rest Client
78.idea/httpRequests
79
80# Android studio 3.1+ serialized cache file
81.idea/caches/build_file_checksums.ser
82
83### PyCharm+all Patch ###
84# Ignore everything but code style settings and run configurations
85# that are supposed to be shared within teams.
86
87.idea/*
88
89!.idea/codeStyles
90!.idea/runConfigurations
91
92### Python ###
93# Byte-compiled / optimized / DLL files
94__pycache__/
95*.py[cod]
96*$py.class
97
98# C extensions
99*.so
100
101# Distribution / packaging
102.Python
103build/
104develop-eggs/
105dist/
106downloads/
107eggs/
108.eggs/
109lib/
110lib64/
111parts/
112sdist/
113var/
114wheels/
115share/python-wheels/
116*.egg-info/
117.installed.cfg
118*.egg
119MANIFEST
120
121# PyInstaller
122# Usually these files are written by a python script from a template
123# before PyInstaller builds the exe, so as to inject date/other infos into it.
124*.manifest
125*.spec
126
127# Installer logs
128pip-log.txt
129pip-delete-this-directory.txt
130
131# Unit test / coverage reports
132htmlcov/
133.tox/
134.nox/
135.coverage
136.coverage.*
137.cache
138nosetests.xml
139coverage.xml
140*.cover
141*.py,cover
142.hypothesis/
143.pytest_cache/
144cover/
145
146# Translations
147*.mo
148*.pot
149
150# Django stuff:
151*.log
152local_settings.py
153db.sqlite3
154db.sqlite3-journal
155
156# Flask stuff:
157instance/
158.webassets-cache
159
160# Scrapy stuff:
161.scrapy
162
163# Sphinx documentation
164docs/_build/
165
166# PyBuilder
167.pybuilder/
168target/
169
170# Jupyter Notebook
171.ipynb_checkpoints
172
173# IPython
174profile_default/
175ipython_config.py
176
177# pyenv
178# For a library or package, you might want to ignore these files since the code is
179# intended to run in multiple environments; otherwise, check them in:
180# .python-version
181
182# pipenv
183# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
184# However, in case of collaboration, if having platform-specific dependencies or dependencies
185# having no cross-platform support, pipenv may install dependencies that don't work, or not
186# install all needed dependencies.
187#Pipfile.lock
188
189# poetry
190# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
191# This is especially recommended for binary packages to ensure reproducibility, and is more
192# commonly ignored for libraries.
193# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
194#poetry.lock
195
196# pdm
197# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
198#pdm.lock
199# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
200# in version control.
201# https://pdm.fming.dev/#use-with-ide
202.pdm.toml
203
204# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
205__pypackages__/
206
207# Celery stuff
208celerybeat-schedule
209celerybeat.pid
210
211# SageMath parsed files
212*.sage.py
213
214# Environments
215.env
216.venv
217env/
218venv/
219ENV/
220env.bak/
221venv.bak/
222
223# Spyder project settings
224.spyderproject
225.spyproject
226
227# Rope project settings
228.ropeproject
229
230# mkdocs documentation
231/site
232
233# mypy
234.mypy_cache/
235.dmypy.json
236dmypy.json
237
238# Pyre type checker
239.pyre/
240
241# pytype static type analyzer
242.pytype/
243