Техническое задание
Нам необходимо разработать интернет-ресурс для фанатского сервера одной известной MMORPG — что-то вроде доски объявлений. Пользователи нашего ресурса должны иметь возможность зарегистрироваться в нём по e-mail, получив письмо с кодом подтверждения регистрации. После регистрации им становится доступно создание и редактирование объявлений. Объявления состоят из заголовка и текста, внутри которого могут быть картинки, встроенные видео и другой контент. Пользователи могут отправлять отклики на объявления других пользователей, состоящие из простого текста. При отправке отклика пользователь должен получить e-mail с оповещением о нём. Также пользователю должна быть доступна приватная страница с откликами на его объявления, внутри которой он может фильтровать отклики по объявлениям, удалять их и принимать (при принятии отклика пользователю, оставившему отклик, также должно прийти уведомление). Кроме того, пользователь обязательно должен определить объявление в одну из следующих категорий: Танки, Хилы, ДД, Торговцы, Гилдмастеры, Квестгиверы, Кузнецы, Кожевники, Зельевары, Мастера заклинаний.
Также мы бы хотели иметь возможность отправлять пользователям новостные рассылки.
Заранее спасибо!
- Необходимо в папке
market
(рядом с файломsettings.py
) создать файл.env
и заполнить его по аналогии с предоставленным.envexample
. - Создать superuser и выполнить миграции.
- Для корректной работы django-ckeditor нужно выполнить команду
python manage.py collectstatic
.
Конечно же проект можно ещё дорабатывать и дорабатывать, но на данный момент он отвечает всем требованиям ТЗ:
- пользователи регистрируются по e-mail с подтверждением регистрации (реализовано с помощью django-allauth);
- зарегистрированным пользователям доступно создание, редактирование и удаление объявлений;
- объявление обязательно относится к одной из заданных категорий;
- объявления состоят из заголовка и мультимедийного контента (реализовано с помощью WYSIWYG-плагина django-ckeditor);
- пользователи могут отправлять текстовые отклики на объявления;
- при отправке отклика пользователь получает e-mail с оповещением о нём (через встроенный сигнал
post_save
); - пользователям доступна приватная страница с откликами;
- отклики можно фильтровать по объявлениям (реализовано с помощью django-filter);
- отклики можно удалять и принимать;
- при принятии отклика пользователь, оставивший отклик, получает e-mail с оповещением (через самописный сигнал
reply_is_accepted
).