Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
04729c3
Add: The .gitignore file
mavenium Oct 25, 2023
231eb8c
Add: The requirements_base.txt file
mavenium Oct 25, 2023
6f3be68
Add: The requirements_development.txt file
mavenium Oct 25, 2023
e14d727
Add: The requirements_production.txt file
mavenium Oct 25, 2023
25908a5
Fix: Add the 'gunicorn' package
mavenium Oct 25, 2023
9955a0e
Fix: Add the 'Sphinx' & 'sphinx-rtd-theme' & 'sphinxcontrib-django2' …
mavenium Oct 25, 2023
c5a8811
Fix: Add the 'django' & 'psycopg2-binary' & 'djangorestframework' pac…
mavenium Oct 25, 2023
bbf5ce5
Add: Creating the base of the project
mavenium Oct 25, 2023
6566496
Fix: The base settings
mavenium Oct 25, 2023
81bbfa6
Add: The '.env' file
mavenium Oct 25, 2023
e16d4e0
Fix: Define some variables
mavenium Oct 25, 2023
d1e6c5c
Add: The docs
mavenium Oct 25, 2023
175dd33
Fix: Add the 'Generating the docs' section
mavenium Oct 25, 2023
78dd6f6
Merge pull request #1 from mavenium/setup
mavenium Oct 25, 2023
f720dee
Add: The 'user_management' app
mavenium Oct 26, 2023
1a7180c
Add: The 'extensions' package
mavenium Oct 26, 2023
7f20358
Add: The 'choices.py' file
mavenium Oct 26, 2023
31d13fa
Fix: Add the 'GenderChoices' class
mavenium Oct 26, 2023
d51b097
Add: Add the 'managers.py' file & the 'UserManager' class
mavenium Oct 26, 2023
613842b
Add: Add the 'abstract_models.py' file and the 'AbstractCreatAtUpdate…
mavenium Oct 26, 2023
716013e
Add: Add the 'user' & 'profile' model
mavenium Oct 26, 2023
3c4139c
Fix: Add the 'AUTH_USER_MODEL' setting
mavenium Oct 26, 2023
b8f526f
Fix: Change the 'create_at' field to the 'created_at'
mavenium Oct 26, 2023
6634a27
Add: The language files
mavenium Oct 26, 2023
642bf3f
Add: The 'commands' app
mavenium Oct 26, 2023
9fbb6f9
Add: The 'wait_for_db.py' command
mavenium Oct 26, 2023
0c83da3
Add: The 'initialize_admin.py' file
mavenium Oct 26, 2023
fa698fa
Fix: Add the 'ADMIN_USERNAME' & 'ADMIN_PASSWORD' fields
mavenium Oct 26, 2023
040c2e7
Fix: The 'initialize_admin.py' file
mavenium Oct 26, 2023
6278557
Fix: Add '__empty__' to the 'GenderChoices' class
mavenium Oct 26, 2023
0099590
Fix: Set 'blank' to all fields
mavenium Oct 26, 2023
67b3935
Fix: Set 'gender' field to null
mavenium Oct 26, 2023
469d684
Add: The 'signals.py' file and 'creating_profile' signal
mavenium Oct 26, 2023
59e6696
Fix: Set the 'gender' field to blank and fix the '__str__' method and…
mavenium Oct 26, 2023
b457997
Fix: Add the 'ProfileInlineAdmin' & 'UserAdmin' classes
mavenium Oct 26, 2023
ad36bfd
Fix: The translation files
mavenium Oct 26, 2023
b0a31e7
Fix: The 'urlpatterns'
mavenium Oct 26, 2023
d193c51
Fix: Add the 'djangorestframework-simplejwt' package
mavenium Oct 26, 2023
bd02cab
Fix: Add the 'rest_framework' & 'rest_framework_simplejwt' to the 'IN…
mavenium Oct 26, 2023
ddd3688
Fix: Add the 'REST_FRAMEWORK' settings
mavenium Oct 26, 2023
23d29b5
Fix: Add the 'SIMPLE_JWT' settings
mavenium Oct 26, 2023
d45e617
Fix: Add the 'drf-yasg' package
mavenium Oct 26, 2023
e88bdba
Fix: Add the 'drf_yasg' to 'INSTALLED_APPS' and add the 'SWAGGER_SETT…
mavenium Oct 26, 2023
8c98808
Add: The 'api' app
mavenium Oct 26, 2023
621df91
Fix: Add the 'api' path
mavenium Oct 26, 2023
b6cf552
Fix: Add the 'DEFAULT_PAGINATION_CLASS' to 'REST_FRAMEWORK'
mavenium Oct 26, 2023
a364d6a
Add: The 'custom_permissions.py' file and 'CustomDjangoModelPermissio…
mavenium Oct 26, 2023
24fed07
Fix: Add the 'swagger' & 'redoc' & 'token' & 'user_management' paths
mavenium Oct 26, 2023
0129d29
Fix: Set the 'urlpatterns' variable
mavenium Oct 26, 2023
5887ea9
Add: The 'serializers' package and 'permission.py' file and 'Permissi…
mavenium Oct 26, 2023
ae74717
Fix: Add the 'django_filters' package
mavenium Oct 26, 2023
4b4cf4e
Fix: Add the 'PermissionSerializer' class
mavenium Oct 26, 2023
eb7fbf2
Fix: Add the 'PermissionViewSet' viewset
mavenium Oct 26, 2023
ad0095d
Fix: Add the '__all__' variable
mavenium Oct 26, 2023
eeb3f63
Fix: Add the 'PermissionViewSet' viewset
mavenium Oct 26, 2023
9f689b7
Fix: Add the 'router' & 'permissions' paths
mavenium Oct 26, 2023
e187ea6
Fix: Imports
mavenium Oct 26, 2023
50b01a1
Add: The 'GroupSerializer' class
mavenium Oct 26, 2023
d5426dd
Add: The 'CreateGroupSerializer' class
mavenium Oct 26, 2023
8292f0a
Add: The 'custom_exception_handlers.py' file & 'exception_handler' me…
mavenium Oct 26, 2023
644eadd
Add: The 'EXCEPTION_HANDLER' in 'REST_FRAMEWORK'
mavenium Oct 26, 2023
85b888e
Add: The 'GroupViewSet' viewset
mavenium Oct 26, 2023
39e0fd2
Fix: Add the 'groups' paths
mavenium Oct 26, 2023
cfaa90c
Add: The 'UserSerializer' & 'UserPasswordChangeSerializer' class
mavenium Oct 26, 2023
70718d2
Fix: Add the 'UnauthenticatedPost' class
mavenium Oct 26, 2023
633e1ac
Add: Add the 'UserViewSet' class
mavenium Oct 26, 2023
df1bbd0
Fix: Add the 'users' paths
mavenium Oct 26, 2023
6cf6776
Add: Add the 'ProfileSerializer' class
mavenium Oct 26, 2023
a648c48
Fix: Add the 'user_profile' action
mavenium Oct 26, 2023
9883ff1
Fix: Add the 'OwnProfilePermission' class
mavenium Oct 26, 2023
0982406
Fix: Fix the 'user_profile' action and add the 'update_user_profile' …
mavenium Oct 26, 2023
2ad0818
Fix: The 'save' method in 'UserPasswordChangeSerializer' class
mavenium Oct 26, 2023
8193e04
Fix: Add the 'OwnUserPermission' class
mavenium Oct 26, 2023
2bcb6a8
Fix: The 'change_password' action
mavenium Oct 26, 2023
9961284
Fix: Update translations
mavenium Oct 26, 2023
e998820
Add: The 'common_functions.py' file and 'sample_user' & 'sample_super…
mavenium Oct 26, 2023
ce99e2a
Add: The 'test_group_model.py' file and 'GroupModelTest' class
mavenium Oct 26, 2023
6473d2b
Add: The 'test_user_model.py' file and 'UserModelTest' class
mavenium Oct 26, 2023
1789ced
Add: The 'test_permission.py' file and 'PublicPermissionsAPITests' & …
mavenium Oct 26, 2023
4501b9a
Add: The 'test_group.py' file and 'PublicGroupsAPITests' & 'PrivateGr…
mavenium Oct 26, 2023
1891c37
Add: The 'test_user.py' file and 'PublicUsersAPITests' & 'PrivateUser…
mavenium Oct 26, 2023
e7aa1f4
Merge pull request #2 from mavenium/user_management
mavenium Oct 26, 2023
bb101b4
Fix: The 'queryset' in 'UserViewSet' class
mavenium Oct 26, 2023
bb813b7
Fix: Change the 'user_profile_user' to 'profile_user'
mavenium Oct 26, 2023
5be3e11
Fix: Updating the docs
mavenium Oct 26, 2023
c192500
Fix: The 'get_full_name' in 'UserAdmin' class
mavenium Oct 26, 2023
006107a
Fix: Use 'OwnUserPermission' class
mavenium Oct 26, 2023
8dd496f
Fix: Add docstring
mavenium Oct 26, 2023
73422b3
Fix: Add docstring
mavenium Oct 26, 2023
858ef9f
Fix: Update docs
mavenium Oct 26, 2023
2089442
Add: The 'booking' app
mavenium Oct 26, 2023
c791d7c
Add: The 'stadium' model
mavenium Oct 26, 2023
f7c1595
Fix: Add the 'LocationChoices' class
mavenium Oct 26, 2023
a26a69a
Add: The 'Section' model
mavenium Oct 26, 2023
19a387e
Add: The 'Team' model
mavenium Oct 26, 2023
11f9360
Add: The 'Match' model
mavenium Oct 26, 2023
296cd5e
Fix: Add the 'InvoiceStatusChoices' class
mavenium Oct 26, 2023
dbc33b9
Add: The 'Invoice' model
mavenium Oct 26, 2023
ac1e663
Fix: Add the 'TicketStatusChoices' class
mavenium Oct 26, 2023
81bd4c5
Fix: Add the 'Ticket' class
mavenium Oct 26, 2023
53dd4f1
Fix: Add the 'price' field
mavenium Oct 26, 2023
1c26826
Fix: Add the 'PaymentStatusChoices' class
mavenium Oct 27, 2023
f4e9455
Fix: Add the 'Payment' model
mavenium Oct 27, 2023
ac90e9d
Fix: Add the 'SectionInlineAdmin' & 'StadiumAdmin' classes
mavenium Oct 27, 2023
bce7496
Fix: Add the 'TeamAdmin' class
mavenium Oct 27, 2023
00d3cbd
Fix: The translation files
mavenium Oct 27, 2023
8403133
Fix: Add the 'MatchAdmin' class
mavenium Oct 27, 2023
91dbcd4
Fix: Add the 'InvoiceAdmin' class
mavenium Oct 27, 2023
012e148
Fix: Add the 'TicketAdmin' class
mavenium Oct 27, 2023
f59ce33
Fix: The 'InvoiceAdmin' class
mavenium Oct 27, 2023
7d1a564
Fix: Add the 'PaymentAdmin' class
mavenium Oct 27, 2023
3997277
Fix: Remove the 'updated_at' field
mavenium Oct 27, 2023
5ed232f
Add: The 'StadiumSerializer' class
mavenium Oct 27, 2023
1fdd6fe
Add: The 'StadiumViewSet' class
mavenium Oct 27, 2023
460f44a
Add: The 'stadiums' paths
mavenium Oct 27, 2023
3999e64
Add: The 'SectionSerializer' class
mavenium Oct 27, 2023
fa56f54
Add: The 'SectionViewSet' class
mavenium Oct 27, 2023
b64c1f1
Add: The 'sections' paths
mavenium Oct 27, 2023
8ed24e8
Fix: Add the 'to_representation' method to the 'SectionSerializer' class
mavenium Oct 27, 2023
24ffcff
Add: The 'TeamSerializer' class
mavenium Oct 27, 2023
75e65a9
Add: The 'TeamViewSet' class
mavenium Oct 27, 2023
ef33c43
Add: The 'teams' paths
mavenium Oct 27, 2023
35bea6d
Add: The 'MatchSerializer' class
mavenium Oct 27, 2023
e8ebe21
Add: The 'MatchViewSet' class
mavenium Oct 27, 2023
57a9efe
Add: The 'matches' paths
mavenium Oct 27, 2023
8500685
Fix: Add the 'get_list_of_seat_numbers' property
mavenium Oct 27, 2023
7f5f885
Fix: Use the 'get_list_of_seat_numbers' property in 'to_representatio…
mavenium Oct 27, 2023
d4f0c65
Fix: Add the 'seats' action
mavenium Oct 27, 2023
7d40409
Add: The 'InvoiceSerializer' class
mavenium Oct 27, 2023
eec260c
Add: The 'InvoiceViewSet' class
mavenium Oct 27, 2023
168b2e1
Add: The 'invoices' paths
mavenium Oct 27, 2023
91a2831
Add: The 'TicketSerializer' class
mavenium Oct 27, 2023
b02c993
Add: The 'TicketViewSet' class
mavenium Oct 27, 2023
dae6f54
Add: The 'tickets' paths
mavenium Oct 27, 2023
5a0f590
Fix: Add the 'get_section_ids' property
mavenium Oct 27, 2023
44dec24
Fix: The 'validate' & 'create' method in 'TicketSerializer' class
mavenium Oct 27, 2023
b1d9e47
Fix: Add the 'get_total_amount' property
mavenium Oct 27, 2023
bf87d06
Fix: Use the 'get_total_amount' property
mavenium Oct 27, 2023
d126a39
Fix: Optimize the 'get_total_amount' property
mavenium Oct 27, 2023
c69724e
Fix: The 'create' method
mavenium Oct 27, 2023
ef7c4ab
Fix: Add the 'set_as_sold' method
mavenium Oct 27, 2023
12f9d66
Add: The 'PaymentSerializer' class
mavenium Oct 27, 2023
c7c9da5
Fix: Add the 'set_as_sold' method
mavenium Oct 27, 2023
72557df
Add: The 'PaymentViewSet' class
mavenium Oct 27, 2023
bf90a28
Add: The 'payments' paths
mavenium Oct 27, 2023
779b419
Fix: Remove the 'UNSOLD' enum from the 'TicketStatusChoices' class
mavenium Oct 27, 2023
9170a0c
Fix: The default value of the 'status' field
mavenium Oct 27, 2023
a1b28e8
Fix: The translation files
mavenium Oct 27, 2023
5f21c6a
Fix: Update the docs
mavenium Oct 27, 2023
23a8793
Fix: The docstrings
mavenium Oct 27, 2023
5f7db2b
Fix: Update the docs
mavenium Oct 27, 2023
b44ad1b
Fix: The '__str__' method
mavenium Oct 27, 2023
4f98dfa
Fix: The 'list_filter' in 'PaymentAdmin' class
mavenium Oct 27, 2023
40e030d
Fix: Update the docs
mavenium Oct 27, 2023
e98f5ee
Merge pull request #3 from mavenium/booking
mavenium Oct 27, 2023
f54ff60
Add: The Dockerfile
mavenium Oct 27, 2023
f7d5437
Add: The docker-compose-dev.yml file
mavenium Oct 27, 2023
af3d2f4
Add: The 'postman_collection.json' file
mavenium Oct 27, 2023
207e95b
Fix: The docs
mavenium Oct 27, 2023
335b888
Merge pull request #4 from mavenium/dockerize
mavenium Oct 27, 2023
1407f16
Fix: The docs
mavenium Oct 27, 2023
9f03d27
Merge pull request #5 from mavenium/development
mavenium Oct 27, 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
14 changes: 14 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
SECRET_KEY=
DEBUG=
ALLOWED_HOSTS=

DB_NAME=
DB_USER=
DB_PASS=
DB_HOST=
DB_PORT=

TIME_ZONE=

ADMIN_USERNAME=
ADMIN_PASSWORD=
139 changes: 139 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
### Python template
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# 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
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# 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

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

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.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/

# IDE
.idea
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM python:3.10
LABEL MAINTAINER = "Mahdi Namaki | mavenium@gmail.com"

ENV PYTHONUNBUFFERD 1

RUN mkdir /project
WORKDIR /project
COPY /src /project

ADD requirements_base.txt /project

RUN apt-get -y update
RUN apt-get -y upgrade

RUN pip install --upgrade pip
RUN pip install --upgrade -r requirements_base.txt

RUN apt-get clean
61 changes: 38 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,38 @@
# django-challenge


The volleyball Federation decided to use an online selling platform for the next season, and our company has been chosen for implementing that.

# Requirements

Our system should have REST APIs for the following tasks:

- User signup and login
- Adding a new stadium
- Defining matches
- Defining the place of seats for each match
- Buying seats of a match (There is no need for using a payment gateway)

# Implementation details

We don't need a GUI for this system. You can use the Django admin.
Try to write your code as **reusable** and **readable** as possible. Also, don't forget to **document your code** and clear the reasons for all your decisions in the code.
Using API documentation tools is a plus.
Don't forget that many people trying to buy tickets for a match. So try to implement your code in a way that could handle the load. If your solution is not sample enough for implementing fast, you can just describe it in your documents.

Please fork this repository and add your code to that. Don't forget that your commits are so important. So be sure that you're committing your code often with a proper commit message.
### How to execute via docker?
- Install `docker` and `docker-compose` on server
- Clone the project `git clone https://<token>@github.com/mavenium/django-challenge.git`
- Go to the project directory `cd django-challenge`
- Run `docker-compose -f docker-compose-dev.yml up -d --force-recreate --build` command
- Then go to the `http://127.0.0.1:8000/` in your browser

### How to execute in local?
- Clone the project `git clone https://<token>@github.com/mavenium/django-challenge.git`
- Go to the project directory `cd django-challenge/src`
- Create a new environment and active that
- Run the `pip install --upgrade -r ../requirements_development.txt` to install the requirements
- Then create a new database in the Postgresql like `ticket_sales_system` and add the database name to the `core/settings.py`
- Then run the `python manage.py migrate` to create the tables
- Then run the `python manage.py initialize_admin` to create the default admin
- After that run the `python manage.py runserver`

### Additional Notes
#### What is the username and password for the default superuser?
- Username is `admin@ticketing.sample` and password is `admin@control*987`
#### How to run the tests ?
- By running the `python manage.py test` command in the running environment (local or docker container)
#### What are the `swagger` and `redoc` urls ?
- The `swagger` url is `http://127.0.0.1:8000/api/v1/swagger/`
- The `redoc` url is `http://127.0.0.1:8000/api/v1/redoc/`
#### Is the postman collection also offered?
- Yes, `postman_collection.json`
#### How to run on the production server ?
- This project is not 100% ready for production mode, but you can change the `Dockerfile` and `docker-compose-dev.yml` for this purpose
- The `.env` file is available in the project
#### Where is the documentation?
- It located in the `docs/_build/html/index.html`
#### Anything else ?
- We need the Celery for creating the scheduled task in order to remove the ticket object with reserved status after 5 or 10 minutes of creating it in order to make tickets available for buying for people.
- A scheduled task system is not developed due to the experimental of the project
- There are 44 tests in the project. Those are not enough, but they show my ability to write tests on two levels.
- A caching system is needed in production mode, it has not been implemented due to the experimental of the project
- The project has been implemented with the ability to translate into other languages
57 changes: 57 additions & 0 deletions docker-compose-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
version: '3.3'

services:
postgresql:
image: postgres:latest
hostname: postgresql
container_name: postgresql
volumes:
- postgresql_volume:/data
restart: always
ports:
- "5432:5432"
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
networks:
- project_network

project:
build:
context: .
dockerfile: Dockerfile
command: sh -c '
python manage.py wait_for_db &&
python manage.py migrate &&
python manage.py migrate --run-syncdb &&
python manage.py collectstatic --noinput &&
python manage.py initialize_admin &&
python manage.py runserver 0.0.0.0:8000'
hostname: project
container_name: project
volumes:
- ./src:/project
- statics_volume:/project/statics
restart: always
environment:
- DB_NAME=postgres
- DB_HOST=postgresql
- DB_USER=postgres
- DB_PASS=postgres
ports:
- "8000:8000"
networks:
- project_network
depends_on:
- postgresql

volumes:
postgresql_volume:
external: false
statics_volume:
external: false

networks:
project_network:
external: false
20 changes: 20 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Binary file added docs/_build/doctrees/_rst/api.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/_rst/api.tests.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/_rst/booking.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/_rst/booking.models.doctree
Binary file not shown.
Binary file not shown.
Binary file added docs/_build/doctrees/_rst/booking.views.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/_rst/commands.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/_rst/core.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/_rst/extensions.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/_rst/manage.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/_rst/modules.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/_rst/user_management.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added docs/_build/doctrees/environment.pickle
Binary file not shown.
Binary file added docs/_build/doctrees/index.doctree
Binary file not shown.
4 changes: 4 additions & 0 deletions docs/_build/html/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 405e4bab41ed14b5f0c33c454d997738
tags: 645f666f9bcd5a90fca523b33c5a78b7
Loading