Skip to content

Latest commit

 

History

History
59 lines (35 loc) · 4.74 KB

File metadata and controls

59 lines (35 loc) · 4.74 KB

Модульное задание по Django

Создаем учебный интернет магазин.

Модели

  • Пользователь - расширить так, чтобы добавить поле кошелек (храним кол-во денег).

  • Товар - название, описание товара, цена, картинка (не обязательно), кол-во на складе.

  • Покупка - объект для создания покупки, содержит информацию о пользователе, о товаре, кол-во покупаемой продукции и время когда совершена покупка.

  • Возврат - содержит информацию, о затребованном возврате ( связь с покупкой, время запроса)

Функционал

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

Админ

Если логинится админ (createsuperuser) у него должен быть доступ к таким страницам как:

  • Просмотр товаров, Добавление товара, Изменение товара, `Просмотр возвратов.

  • Просмотр товаров - список существующих товаров, с указанием цен и кол-ва товаров на складе. Возле описания товара, должна быть ссылка на изменение товара.

  • Добавление товара - Создание нового товара, с указанием всех полей, включая цену и кол-во на складе.

  • Изменение товара - Изменение существующего товара, можно изменить все поля, включая кол-во товаров на складе (для пополнения кол-ва продуктов)

  • Просмотр возвратов - Список с объектами возврата (их смогут создавать обычные пользователи) с двумя кнопками, подтвердить или отклонить.

Если админ подтверждает возврат, объект покупки должен быть удален, кол-во товара должно быть возвращено модели товара, а стоимость товаров возвращена в поле кошелька пользователя.

Если админ отклоняет, то удалить объект возврата.

Удалять товары нельзя.

Пользователь

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

  • Просмотр списка товаров, с указанием цен и кол-ва на складе, возле описания должна быть форма с возможностью указать кол-во товаров и кнопка купить, если товаров на складе не достаточно вывести соответствующее сообщение, если у пользователя не хватает денег на эту покупку, так же вывести соответствующее сообщение. Если все условия соблюдены, должен быть создан объект покупки, у товара должно уменьшиться кол-во на складе, а у пользователя сумма в кошельке.

  • Просмотр совершенных покупок. Список уже приобретённых текущим пользователем товаров, возле каждого товара должна быть кнопка “вернуть товар”. Товар можно вернуть только 3 минуты после покупки, если кнопка нажата позже вывести сообщение, что товар уже вернуть невозможно. Создает объект возврата по совершенной покупке (Который должен подтвердить админ).

Если пользователь не залогинен, то он видит только список товаров, без каких либо кнопок.

После регистрации пользователь должен автоматически получить определённое кол-во денег в кошелёк (например 10000)