Skip to content

Музыкальный магазин на django с регистрацией, авторизацией, корзиной, поиском, личным кабинетом, возможностью формировать/оформлять заказ, отслеживать автоматически наличие интересующего товара.

Notifications You must be signed in to change notification settings

vseop/music_store_DJANGO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Базавое приложение музыкального магазина на django 3

Функционал

  • Авторизация, регистрация.
  • Поиск по сайту по различным критериям (фильтры ,поисковая строка). Использование ajax_select для автодополнения после введенных 3 символов в поисковой строке.
  • Корзина (добавление, удаление, изменение количества товара) и оформление заказа.
  • mainapp.models -> CartProduct (продукт корзины) реализован для любого типа товара (с использованием ContentType). Для добавлений новых моделей товара в дальнейшем.
  • Личный кабинет с возможностью отслеживать свои заказы и просматривать детальную информацию о них.
  • Возможность добавления и удаления в личном кабинете товара в "лист ожидания".
  • Отправка уведомлений пользователю о том, что товар, находящийся в списке его ожидания поступил (сигналы: mainapp.models -> check_previous_qty(pre_save), send_notification(post_save).
  • Возможность отслеживания наличия товара и бизнес-логика, не позволяющая заказывать товар, если его нет в наличии или за время формирования заказа уже кто-то забрал последнее.
  • Возможность создавать галерею изображений как для исполнителя, так и для конкретного альбома (галерея изображений + ContentType).
  • TabularInline и GenericTabularInline в админке для удобства добавления изображений.
  • RAW SQL запросы для получения наиболее продаваемого альбома месяца (mainapp.models -> AlbumManager)
  • Использование crispy_forms и crispy_bootstrap5 для удобства работы с forms

Интересно

  • В mainapp.forms -> SearchForm для формирования choices мы делаем встроенный Model.objects.querry() до миграции, таким образом ловим ошибку, и не можем осуществить migrate т.к таблиц еще не существует. Для избежания этого мы применяем конструкцию.
    from django.db import connection
    Model.objects.query if connection.introspection.table_names() else []

Установка и запуск

  1. docker-compose up -d (запуск postgres в фоновом режиме)
  2. pip install -r requirements.txt
  3. cd store && python manage.py makemigrations
  4. python manage.py migrate
  5. python manage.py collectstatic
  6. python manage.py createsuperuser (создаем суперпользователя)
  7. python manage.py runserver

About

Музыкальный магазин на django с регистрацией, авторизацией, корзиной, поиском, личным кабинетом, возможностью формировать/оформлять заказ, отслеживать автоматически наличие интересующего товара.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published