Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
04c086b
feat: edit gitignore
EarthlyZ9 Jan 3, 2023
f0ce812
feat: implement basic html pages for authentication
EarthlyZ9 Jan 3, 2023
30b1b36
feat: implement basic html pages for authentication
EarthlyZ9 Jan 3, 2023
5e18c55
Merge pull request #1 from PI304/feat/basic-authentication
EarthlyZ9 Jan 3, 2023
b6e778c
feat: add endpoints for users
EarthlyZ9 Jan 3, 2023
7b3adf8
feat: add user serializer
EarthlyZ9 Jan 3, 2023
2787ea1
feat: add fields related to user profile to user model
EarthlyZ9 Jan 3, 2023
45ad0d2
feat: add UserService class
EarthlyZ9 Jan 3, 2023
63df059
feat: implement pre-commit hook for code formatting
EarthlyZ9 Jan 3, 2023
6edfca0
feat: add migration files for user model
EarthlyZ9 Jan 3, 2023
64868aa
feat: add middlewares for adding and checking headers
EarthlyZ9 Jan 3, 2023
94a4e7f
feat: add custom exception handler
EarthlyZ9 Jan 3, 2023
a67ed91
feat: add custom json renderer for Response
EarthlyZ9 Jan 3, 2023
d6da29a
feat: add CORS, DRF configuration to settings
EarthlyZ9 Jan 3, 2023
7a6ec42
feat: add views for authentication related endpoints
EarthlyZ9 Jan 3, 2023
d6fb5e7
feat: add views for general user related operations
EarthlyZ9 Jan 3, 2023
188496e
feat: add user app to admin site
EarthlyZ9 Jan 3, 2023
798674a
Merge pull request #2 from PI304/feat/user-endpoints
EarthlyZ9 Jan 3, 2023
804d72c
feat: add Chatroom and ChatMessage model
EarthlyZ9 Jan 3, 2023
e0c3db9
feat: add Chatroom and ChatMessage serializers
EarthlyZ9 Jan 3, 2023
7a7b380
Merge pull request #3 from PI304/feat/chat-models-and-serializers
EarthlyZ9 Jan 3, 2023
149ce31
feat: add consumer and routing file for chat app
EarthlyZ9 Jan 3, 2023
9009c56
feat: add configurations for channels
EarthlyZ9 Jan 3, 2023
0ddaa73
feat: add configurations for asgi
EarthlyZ9 Jan 3, 2023
3b83a6a
feat: add docker compose file
EarthlyZ9 Jan 3, 2023
bc95320
feat: add template files and related views for chat app
EarthlyZ9 Jan 3, 2023
0203f3f
fix: add related name to latest message field
EarthlyZ9 Jan 3, 2023
5fa2c19
feat: add label for chat app
EarthlyZ9 Jan 3, 2023
be0e3de
feat: update requirements.txt
EarthlyZ9 Jan 3, 2023
5feb229
feat: update gitignore
EarthlyZ9 Jan 3, 2023
c0d8112
feat: update gitignore
EarthlyZ9 Jan 3, 2023
4abc7ba
Merge pull request #4 from PI304/feat/chat-consumers
EarthlyZ9 Jan 3, 2023
44e3074
Apply gitignore
EarthlyZ9 Jan 3, 2023
d25ee47
Apply gitignore
EarthlyZ9 Jan 3, 2023
9db80d7
feat: implement websocket connection via api endpoint
EarthlyZ9 Jan 4, 2023
d03164a
Merge pull request #5 from PI304/feat/chat-sockets
EarthlyZ9 Jan 4, 2023
a29f200
fix: add name field to Chatroom model
EarthlyZ9 Jan 5, 2023
e271eea
feat: connect url patterns for chat app
EarthlyZ9 Jan 5, 2023
60d3da9
feat: serializers and views for chat app
EarthlyZ9 Jan 5, 2023
399adfe
feat: add migration file for adding name field to Chatroom model
EarthlyZ9 Jan 5, 2023
fea5938
fix: delete unnecessary theme app
EarthlyZ9 Jan 5, 2023
dd3e677
Merge pull request #6 from PI304/feat/chat-view-and-serializer
EarthlyZ9 Jan 5, 2023
9d1f4d9
feat: add service_domain field to user model
EarthlyZ9 Jan 6, 2023
a932740
feat: add migration history for adding service_domain field to user m…
EarthlyZ9 Jan 6, 2023
f17d20f
feat: check user type and websocket request origin on websocket connect
EarthlyZ9 Jan 6, 2023
dea2a84
feat: connect mysql as db backend
EarthlyZ9 Jan 6, 2023
88d58e2
feat: edit __str__ and __repr__ functions for Chatroom model
EarthlyZ9 Jan 6, 2023
e742144
Merge pull request #7 from PI304/feat/websocket-connection-and-messages
EarthlyZ9 Jan 6, 2023
cd45b73
feat: add endpoint for retrieving list of chatrooms
EarthlyZ9 Jan 6, 2023
2fd540a
feat: add endpoint for leaving chatroom
EarthlyZ9 Jan 6, 2023
9f4923e
feat: add cors middleware and custom headers
EarthlyZ9 Jan 7, 2023
4e3a7b1
fix: use ASCII alphanumeric values for django channels redis layer gr…
EarthlyZ9 Jan 10, 2023
39adebf
feat: add endpoint to fetch user data from client side
EarthlyZ9 Jan 10, 2023
25948ac
fix: query chatrooms using access_key instead of id
EarthlyZ9 Jan 12, 2023
afeed69
feat: save latest message on disconnect
EarthlyZ9 Jan 12, 2023
0e5c132
Merge pull request #8 from PI304/feat/chatroom-list
EarthlyZ9 Jan 12, 2023
cfc343f
Feat/save chat messages redis (#9)
EarthlyZ9 Jan 15, 2023
b279bb9
feat: delete all chat message entries from db and redis
EarthlyZ9 Jan 16, 2023
fd2456a
Feat/docker compose redis (#10)
EarthlyZ9 Jan 17, 2023
6b1b919
feat: save chat message to db
EarthlyZ9 Jan 17, 2023
3cd2e82
Merge remote-tracking branch 'origin/dev' into dev
EarthlyZ9 Jan 17, 2023
e91faf2
Merge branch 'dev' into feat/save-message-db
EarthlyZ9 Jan 17, 2023
b88f9b1
fix: set correct directory for redis rdb dump file
EarthlyZ9 Jan 18, 2023
e935b1d
Feat/save message db (#11)
EarthlyZ9 Jan 18, 2023
6efc0ba
Merge remote-tracking branch 'origin/dev' into dev
EarthlyZ9 Jan 18, 2023
b1b02a4
fix: change endpoint url for client side requests
EarthlyZ9 Jan 18, 2023
fe80f8b
feat: set session time out
EarthlyZ9 Jan 18, 2023
3cf03c3
style: add todos for later
EarthlyZ9 Jan 18, 2023
e097d78
fix: update updated_at field when changing password
EarthlyZ9 Jan 18, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
295 changes: 293 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,294 @@
/.venv
# Created by https://www.toptal.com/developers/gitignore/api/django,pycharm
# Edit at https://www.toptal.com/developers/gitignore?templates=django,pycharm

### Django ###
*.log
*.pot
*.pyc
__pycache__/
local_settings.py
db.sqlite3
db.sqlite3-journal
media

# If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/
# in your Git repository. Update and uncomment the following line accordingly.
# <django-project-name>/staticfiles/

### Django.Python Stack ###
# Byte-compiled / optimized / DLL files
*.py[cod]
*$py.class

### Redis ###
redis

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo

# Django stuff:

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
db.sqlite3
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

### PyCharm ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

.idea/

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
.idea/**/dataSources.xml
.idea/**/vcs.xml

# AWS User-specific
.idea/**/aws.xml

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# SonarLint plugin
.idea/sonarlint/

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

### PyCharm Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721

# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr

# Sonarlint plugin
# https://plugins.jetbrains.com/plugin/7973-sonarlint
.idea/**/sonarlint/

# SonarQube Plugin
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
.idea/**/sonarIssues.xml

# Markdown Navigator plugin
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
.idea/**/markdown-navigator.xml
.idea/**/markdown-navigator-enh.xml
.idea/**/markdown-navigator/

# Cache file creation bug
# See https://youtrack.jetbrains.com/issue/JBR-2257
.idea/$CACHE_FILE$

# CodeStream plugin
# https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml

# Azure Toolkit for IntelliJ plugin
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
.idea/**/azureSettings.xml

# End of https://www.toptal.com/developers/gitignore/api/django,pycharm
8 changes: 0 additions & 8 deletions .idea/.gitignore

This file was deleted.

32 changes: 0 additions & 32 deletions .idea/ChatBox-API.iml

This file was deleted.

40 changes: 0 additions & 40 deletions .idea/inspectionProfiles/Project_Default.xml

This file was deleted.

6 changes: 0 additions & 6 deletions .idea/inspectionProfiles/profiles_settings.xml

This file was deleted.

4 changes: 0 additions & 4 deletions .idea/misc.xml

This file was deleted.

Loading