Схемочка. Хобби помощник

Схемочка - конструктор схем по номера и схем для вышевок на основе картинок. Сам проект на фреймворке django, а картинки обрабатывает движок основанный на библиотке компьютерного зрения. Она анализирует цвета, контуры изображения, обрабатывает и составляет карту для дальнейшего использования.
Проект был передан на доработку. Пришлось разбираться как в самом проекте, так и с сервером. Были решены некоторые вопросы с деплоем приложения и базы данных.
Моих знаний не хватило, чтобы доработать сам движок компьютерного зрения т.к не совсем моя специальность, а обработка изображений требовала определенных навыков.

Интерфейс и сервер
Я доработал некоторые вопросы по интерфейсу:
- права доступа на сохранение картинок
- поправил редактирование контента
- немного переделал и поправил каталог блога новостей и масстер классов
- поправил мобильную версию
- формат даты и сортировка мастер классов
- руссифицировал админку
- разобрались с сервером при общении с ТП. Вывел в документацию подхо депоя
- добавил модуль Maintance Mode (режим тех обслуживания)
- вывел дополниельные поля для пользователей и схем
- доработан FancyBox. функционал увеличения фото в разных разделах: отзывы, блок, карточка каталога.
Мастер класс
Добавил некоторый функционал для Мастер-класса. До этого новый мастер-класс заполнялся администратором. Теперь есть форма, с которой идет заполнение, а из админки есть функция подтверждения заявки.

Отзывы
Так же был добавлен функционал отправки отзывов. Как анонимных, так при при регистрации. Функционал одобрения отзывов.

Контентные функциональные блоки.
Вынос информации, которая не является просто контентом. Для этого было подключен модуль django constance. Так например теги при заполнении мастер класса и уведомление для пользователей в админке. Позже перенес это в визуальный редактор, оставил только функционала показа скрытия уведомления

Для меня это был практически первый серьезный проект на django. Было приятно поразбираться в нем, освоить структуру и конечно писать на python.
Аналитика
Был запрос по анализу количества схем по юзерам. Юзеры и схемы находились в разных таблицах, что логично. Однако, чтобы вывести в django вьюшку было необходимо сделать отдельную сущность. Что было реализовано. Данные собирались со всей бд.
Дополнительно вывел список схем по датам. Тк для некоторых юзеров список мог быть больше 10-20, сделал специальный html для вывода а стандартную вью джанги и сделал скролл.
Очищение схем
Был реализован интерфейс для грамотного очищения места на диске и в бд. Был кастомизирован интерфейс для удаления схем с выбранной даты. Помимо удаления старых схем, удалялись и папки с картинками, что обеспечивало полное очищение данных.
Кастомизация django админки
Для реализации кастомного функционала потребовались дополнительные темплейты к стандартным вьюшкам, а так дополнительный UI. Так в джанго устаревшие и неудобные мультиселекты переделал на Select2 c поиском. Это сильно облегчило работу с большими выборками данных. Так же был добвлен datepicker, не нашел способ вызова стандартного в кастомном темплейте, поэтому сделал из jquery ui.
Алмазная мозаика доработка движка
Я как то не собирался лезть внутрь. Но постепенно как то само получилось. Была проблема с корректным отображение алмаза на определенных форматах. Я провел анализ работы хендлеров и классов, составил цепочку последовательных вызовов. Тк весь код содержал ровно 0 комментариев, пришлось разбираться по наитию. Всю информацию благополучно покрыл комментариями и разделами в документации. Нашли решили вопрос с размером алмаза и генерации секторов в зависимости от формата изображения. Пофиксен баг различия количества секторов от смены ориентации.
Мобильная версия редактора
Захотели адаптировать редактор. До этого стояла просто заглушка для перехода на пк. Я сначала припугнулся. Так js самого интерфейса редактора превышает 1000 строк кода. Много всего: классы, события, методы - которые связаны в нетривальную логику. Но все оказалось довольно хорошо. Получилось удачно адаптировать интерфейс под мобильный степпер за сравнимо небольшое время и с меньшими затратами. Но большая часть около дня ушла на разбор фронтенда, рефактор и документирования текущего кода.
Документация

Было не совсем понятно как устроен конфиг на сервере. Потратил пару дней чтобы разобраться, но не до конца успешно. Написали ТП. И благодаря им полностью понял настройку сервера. Описал документацию по администрированию: перезапуск приложения, режим дебага, установка пакетов, доступы. Убрали лишнее из админки хостинга.
Далее в документации подробно описал работу, запуск фронтенда. Описал подули и классы участвующие в обработке изображений. Документация превысила 50 страниц.
