/bookstore_website

Онлайн магазин для продажи электронных книг

Primary LanguageHTML

Сервис для книжного онлайн магазина

Описание

Данный сервис позволяет: Для администраторов - добавлять жанры, книги, рекламные баннеры.

Для пользователей - добавлять книги в избранное и в корзину, покупать книги, оставлять отзыв с оценкой к книгам, скачивать книги, искать книги и/или фитровать и сортировать в каталоге или поисковой выдаче.

Технологии

  • Python 3.11
  • Django 5.0.4
  • HTML
  • Bootstrap 5
  • CSS
  • JavaScript
  • Jquery

Установка

Копирование репозитория

Клонируем репозиторий и переходим в папку проекта:

~ git@github.com:Certelen/bookstore_website.git
~ cd bookstore_website

Развертывание на текущем устройстве:

Устанавливаем и активируем виртуальное окружение из папки с проектом

~ py -3.11 -m venv venv
~ . venv/Scripts/activate

Устанавливаем требуемые зависимости:

~ pip install -r requirements.txt

Переходим в папку

~ cd bookstore

Перед первым запуском создаем и выполняем миграции:

python manage.py makemigrations users books
python manage.py migrate

Создаем суперпользователя, если необходимо:

python manage.py createsuperuser

Заполнение .env

Создайте файл .env и заполните его следующими переменными при необходимости:

DATABASE_NAME = <Имя базы данных>
DATABASE_USERNAME = <Имя пользователя базы данных>
DATABASE_PASSWORD = <Пароль пользователя базы данных>
DATABASE_HOST = <Хост базы данных>
DATABASE_PORT = <Порт базы данных>
YU_KASSA_ID = <ID аккаунта Юкассы>
YU_KASSA_KEY = <API ключ аккаунта Юкассы>

Без данных Юкассы не будет работать оплата. Тестовая карта для тестовой оплаты: 2202474301322987 12/40 121

Запуск

Запуск сервиса производится командой:

~ py manage.py runserver

Заполните базу данных

Без заполненных книг на главной будет висеть сообщение об отсутствии книг. Добавьте книги

Возможности

На странице книги можно оставить и/или прочитать отзывы. Оценка отзывов влияет на рейтинг книги отображаемый на карточке книги.

На странице товара можно ознакомиться с авторами, характеристиками книги и ознакомительным отрывком, так же добавить в корзину или избранное.

Нажатие на сердце на карточке книги добавляет её в избранное.

На страницах "Новинки", "Каталог", "Поиск", "Избранное" доступна фильтрация товара по цене, дате и жанру, а так же сортировка по цене (Дороже, дешевле), дате (Раньше, позже) и популярности.

Регистрация и вход возможны на любой странице магазина по кнопке Вход вверху страницы.

Поиск возможен на любой странице магазина при вводе слова в строку вверху страницы и нажатии Enter.

На странице корзины можно удалить товар с пересчетом цены.

Адресные пути

Для авторизованных: