Metadata-Version: 2.1
Name: grooveshop-django-api
Version: 0.14.2
Summary: GrooveShop Django Backend
Home-page: https://github.com/vasilistotskas/grooveshop-django-api
License: MIT
Author: Vasilis Totskas
Requires-Python: >=3.8.1,<4.0.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: Faker (==19.3.0)
Requires-Dist: celery[redis] (>=5.2.7,<6.0.0)
Requires-Dist: chardet (==5.2.0)
Requires-Dist: charset_normalizer (==3.2.0)
Requires-Dist: click (==8.1.7)
Requires-Dist: coverage (==7.3.0)
Requires-Dist: django (==4.2.4)
Requires-Dist: django-admin-thumbnails (==0.2.8)
Requires-Dist: django-allauth (==0.55.0)
Requires-Dist: django-allauth-2fa (==0.11.1)
Requires-Dist: django-celery-beat (==2.5.0)
Requires-Dist: django-celery-results (==2.5.1)
Requires-Dist: django-cors-headers (==4.2.0)
Requires-Dist: django-environ (==0.10.0)
Requires-Dist: django-extensions
Requires-Dist: django-filter (==23.2)
Requires-Dist: django-js-asset (==2.1.0)
Requires-Dist: django-mptt (==0.14.0)
Requires-Dist: django-parler (==2.3.0)
Requires-Dist: django-parler-rest (==2.2.0)
Requires-Dist: django-redis
Requires-Dist: django-rosetta (==0.9.9)
Requires-Dist: django-sql-explorer (==3.2.1)
Requires-Dist: django-stubs (==4.2.3)
Requires-Dist: django-tinymce (==3.6.1)
Requires-Dist: djangoql
Requires-Dist: djangorestframework (==3.14.0)
Requires-Dist: djangorestframework-camel-case (==1.4.2)
Requires-Dist: dotty-dict (==1.3.1)
Requires-Dist: flake8 (==6.1.0)
Requires-Dist: flower (==2.0.1)
Requires-Dist: gitpython (==3.1.32)
Requires-Dist: gunicorn (==21.2.0)
Requires-Dist: hiredis (==2.2.3)
Requires-Dist: importlib-resources (==5.7.0)
Requires-Dist: jinja2 (==3.1.2)
Requires-Dist: pillow (==10.0.0)
Requires-Dist: pre-commit (==3.3.3)
Requires-Dist: psycopg2-binary
Requires-Dist: pydantic (==1.10.2)
Requires-Dist: pydocstyle (==6.3.0)
Requires-Dist: pylint (==2.17.4)
Requires-Dist: pytest
Requires-Dist: pytest-cov
Requires-Dist: pytest-django (==4.5.2)
Requires-Dist: python-gitlab (==3.15.0)
Requires-Dist: python-semantic-release (==8.0.7)
Requires-Dist: rich (==13.5.2)
Requires-Dist: sentry-sdk
Requires-Dist: shortuuid
Requires-Dist: unittest-xml-reporting
Requires-Dist: urllib3 (==2.0.4)
Requires-Dist: werkzeug
Requires-Dist: whitenoise
Project-URL: Repository, https://github.com/vasilistotskas/grooveshop-django-api
Description-Content-Type: text/markdown

[![Coverage Status](https://coveralls.io/repos/github/vasilistotskas/grooveshop-django-api/badge.svg?branch=main)](https://coveralls.io/github/vasilistotskas/grooveshop-django-api?branch=main)
####   -    [Django](https://github.com/vasilistotskas/grooveshop-django-api)
####   -    [Nuxt3](https://github.com/vasilistotskas/grooveshop-storefront-ui-node-nuxt)
####   -    [NestJs](https://github.com/vasilistotskas/grooveshop-media-stream)

## DOCKER :
   ### DJANGO :
   #### Run django db migrations through docker compose :
   -     docker compose run backend sh -c "python manage.py makemigrations --noinput"

   #### Run django db migrate through docker compose :
   -     docker compose run backend sh -c "python manage.py migrate"

   #### Create superuser through docker compose :
   -     docker compose run backend sh -c "python manage.py createsuperuser"

   #### Run django collectstatic through docker compose :
   -     docker compose run backend sh -c "python manage.py collectstatic --noinput"

   #### Run django tests through docker compose :
   -     docker compose run backend sh -c "python manage.py test tests/"

   #### Run django tests with coverage and html through docker compose :
   -     docker compose run backend sh -c "coverage run --omit=*/migrations/*,*/management/*,*/manage.py,*/setup.py,*/asgi.py,*/wsgi.py --source='.' manage.py test tests/ && coverage report && coverage html"

   #### Run django coverage html through docker compose :
   -     docker compose run backend sh -c "coverage html"

   #### Seed database with fake data through docker compose :
   -     docker compose run backend sh -c "python manage.py populate_all"

   #### Run docker compose for specific yml file :
   -     docker compose -f <docker compose-file.yml> up -d --build

   #### Run docker commands through docker exec :
   -     docker exec -it <container_id> <command>

   ### Run specific shell command through docker exec :
   -     docker exec -it <container_id> sh -c "<command>"

   ### Run Locale Message generation through docker exec :
   -     docker exec -it <container_id> sh -c "django-admin makemessages -l <locale>"
   -     docker exec -it <container_id> sh -c "django-admin makemessages --all --ignore=env"

   ### Run Locale Message compilation through docker exec :
   -     docker exec -it <container_id> sh -c "django-admin compilemessages --ignore=env"


## CELERY:
  ### Run local celery worker :
  -     celery -A app beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
  -     celery -A app --broker=redis://localhost:6379/0 flower --port=5555
  -     celery -A app worker -l info --logfile=./logs/celery.log
  -     celery -A app worker -l info -P solo --logfile=./logs/celery.log

## PYTHON
  ### --- VERSION 3.11.0 ---
  ### Virtual Environment :
   -     Install virtualenv : pip install virtualenv
         Create virtual environment : virtualenv <env_name>
         (Case 1)Activate virtual environment : source <env_name>/bin/activate
         (Case 2)Activate virtual environment : <env_name>/scripts/activate
         Deactivate virtual environment : deactivate
         Install requirements : pip install -r requirements.txt
         Install requirements for specific environment : pip install -r requirements/<env_name>.txt

  ### Django :
  -     Install django : pip install django
        Create django project : django-admin startproject <project_name>
        Create django app : python manage.py startapp <app_name>
        Run django db migrations : python manage.py makemigrations
        Run django db migrate : python manage.py migrate
        Create superuser : python manage.py createsuperuser
        Run django collectstatic : python manage.py collectstatic
        Run django test : python manage.py test
        Run django shell : python manage.py shell
        Run django shell_plus : python manage.py shell_plus
        Run django dbshell : python manage.py dbshell
        Run django runserver : python manage.py runserver

  ### Lint :
  -     Step 1: cd src
  -     AVAILABLE COMMANDS :
        pre-commit run --all-files
        black .

  ### Poetry :
  -     Install poetry : curl -sSL https://install.python-poetry.org | python3 - OR (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
        Create poetry project : poetry new <project_name>
        Install dependencies : poetry install
        Upgrade poetry : pip install --upgrade poetry
        Update poetry lock file : poetry lock
        Add dependency : poetry add <dependency_name>
        Remove dependency : poetry remove <dependency_name>
        Update dependency : poetry update <dependency_name>
        Run shell : poetry shell
        Run script : poetry run <script_name>

  ### Strawberry :
  -     Install strawberry : pip install strawberry-graphql
        Create strawberry project : strawberry server
        Run strawberry server : strawberry server
        Run strawberry server for project schema : (src path) : strawberry server core.graphql.schema:schema

  ### pre-commit :
  -     pre-commit install
        git config --unset core.hooksPath

  ### Anaconda :
  -     Install anaconda : https://docs.anaconda.com/anaconda/install/
        Create conda environment : conda create --name <env_name> python=3.11.0
        Activate conda environment : conda activate <env_name>
        Deactivate conda environment : conda deactivate
        Create conda environment from yml file : conda env create -f environment.yml

  ### DRF-Spectacular :
  -     Generate schema : python manage.py spectacular --color --file schema.yml


## MEDIA STREAM:
  ### NPM :
   ### --- VERSION 18.16.0 ---
   -     Step 1: cd mediaStream
   -     Run npm Install : npm install


## GIT
  ### --- VERSION 2.36.0.windows.1 ---
   #### Delete origin tags :
   -     git tag -l | xargs -n 1 git push --delete origin
   #### Delete local tags :
   -     git tag -l | xargs git tag -d

