Тестовое задание (Python/Django)
Оформление:
➖Код в репозитории на GitHub, обязательно корректно оформленное
Read.me.
➖Список всех зависимостей должен храниться в requirements.txt, соответственно можно установить их командой pip install -r requirements.txt.
➖Разработка должна вестись в virtualenv
➖По фронтенду: интерфейс на свое усмотрение, можно воспользоваться Bootstrap.
Задание:
Нужно создать веб-приложение для управления базой данных животных.
База данных: PostgreSQL.
Параметры животного: кличка, возраст, дата прибытия в приют, вес, рост, особые приметы (строка).
Создать API:
➖ вывода на страницу всех животных (со строкой особых примет)
➖ создания животного
➖ редактирования/удаления животного
на базе Django Rest Framework, где вместо рендеринга HTML-страниц, бэкенд возвращает данные в JSON формате.
Создать систему разделения прав:
admin - администратор, имеет права: создание животного, редактирование, чтение,
мягкое удаление
user - приют, имеет права: создание, редактирование, чтение
guest - гость, имеет право только на чтение (для презентации в приютах)
Каждый авторизованный пользователь может видеть животных только из своего приюта. То есть, пользователь привязан к приюту.
Осуществить функции:
1. добавление нового животного
2. мягкое удаление животного из базы
По итогу должно получиться:
➖ страница всех животных в базе (реализованы функции редактирования и удаления животного)
➖ страница добавления нового животного в базу
➖ страница с API всех животных
➖ страница с API создания животного
➖ страница с API редактирования/удаления животного
Во всех формах должна присутствовать валидация. Пользователь не может ввести дату рождения и прибытия животного прошедшим числом.