Skip to content

mrKazzila/mini_online_store

Repository files navigation


Stepik
Store

Store shop. The project for study Django
Stepik | Backend development on Django: from scratch to a specialist
❗Note: Project not supported❗

Conventional Commits pre-commit Stepik
Builde Status


FeaturesTech stackHow To UseAdditional materialGitHub Pages

Features

  • Registration new user
    • Verification with e-mail
  • Authorisation
    • Also, authorisation with GitHub account
  • Change profile settings
  • Add goods into cart
  • Fake buying
  • History orders

Tech stack

How To Use

To clone and run this project, you'll need:

Step-by-step commands or use Docker

commands
  1. Firstly clone repo

    git clone git@github.com:mrKazzila/mini_online_store.git
  2. Copy an example .env file because the real one is git ignored

    cp env/.env.example env/.env.project
  3. Add env file for db

    touch env/.env.db && echo -e \
    "POSTGRES_DB=store_db\nPOSTGRES_USER=store_username\nPOSTGRES_PASSWORD=store_password" > env/.env.db
  4. Settings Poetry

    poetry config virtualenvs.in-project true
  5. Activate venv

    poetry shell
  6. Install packages

    poetry install
  7. Install pre-commit

    pre-commit install
  8. Move to app dir

    cd app
  9. Run project dependencies, migrations, fill the database with the fixture data etc

    python manage.py migrate
    python manage.py loaddata <path_to_fixture_files>
    python manage.py runserver
  10. Run Redis Server

    redis-server
  11. Run Celery

    celery -A config worker --loglevel=INFO
  12. Test purchase webhook

    stripe listen --forward-to 127.0.0.1:8000/webhook/stripe/
  13. Start yapf (manual)

    yapf --style=.style.yapf -ir -vv app/
  14. Start pre-commit (manual)

    pre-commit run --all-files
  15. Start bandit (manual)

    bandit -c style/bandit.yaml -r app/ -f json -o bandit_report.json

Additional material

how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-22-04



GitHubResumeLinkedIn