Сервис для регистрации кошек и их достижений
Разработан RESTful API для ведения персонального каталога домашних кошек: каждый пользователь может добавлять своих питомцев с указанием имени, цвета, года рождения и фотографии. Реализована гибкая система достижений (например, «Ловец мышей», «Самый пушистый») через отношение многие-ко-многим с промежуточной моделью AchievementCat, что позволяет точно отслеживать, какие награды получил каждый кот. Обеспечена персонализация данных: при создании записи автоматически привязывается владелец (owner = request.user), а при чтении — доступны только собственные или публичные данные (в зависимости от настроек прав). Поддержка загрузки изображений с обработкой через Pillow, хранение файлов в структурированной директории. Внедрена аутентификация на базе JWT (через Djoser), пагинация для основных эндпоинтов (PageNumberPagination), а также отключение пагинации для справочников (например, список достижений). Проект протестирован с помощью pytest и развёрнут в production (используется Gunicorn как WSGI-сервер, PostgreSQL в качестве СУБД)
Стек: Python, Django 3.2, Django REST Framework, Djoser, PostgreSQL, Pillow, Gunicorn, pytest
сервис доступен по ссылке: https://kittygram-hw.zapto.org/