Giter Site home page Giter Site logo

vseop / music_store_django Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 49 KB

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

Python 57.41% HTML 42.59%
django python

music_store_django's Introduction

Базавое приложение музыкального магазина на 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

music_store_django's People

Contributors

vseop avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.