Мобильное приложение, где товары покупаются за баллы от просмотра соцрекламы. Разработали Backend на Django: внедрили JWT-авторизацию, систему достижений и 3 вида Push-уведомлений через Celery и Firebase. Стек: Python, DRF, Redis, Docker.
СИМ ЁЖ — социальный интернет-магазин, где пользователи зарабатывают баллы за просмотр социальной рекламы и обменивают их на товары с маркетплейсов. Администратор таргетирует рекламу по группам пользователей, система начисляет баллы, а накопленные средства конвертируются в реальные покупки с доставкой в пункты выдачи. Это не благотворительность — это модель монетизации внимания пользователей через социально значимый контент. Команда Fortech вошла в проект на этапе доработки backend-части мобильного приложения. Нужно было реализовать систему уведомлений, механику достижений, авторизацию через JWT и настроить асинхронную обработку задач. Работали в связке с мобильной командой заказчика, которая интегрировала API в iOS и Android клиенты.

Начали с аудита существующей кодовой базы и выбора архитектуры для новых модулей.
Главный технический вызов — трёхуровневая система уведомлений
Разработчик впервые работал с Firebase Cloud Messaging, и задача оказалась нетривиальной:
Пришлось разобраться с форматом FCM-токенов, логикой retry при недоступности устройства и синхронизацией состояния между типами уведомлений.
Итоговое решение: единая модель Notification с полем type, где бизнес-логика отправки зависит от типа — через FCM, сохранение в БД или постановку в очередь Celery.
Работа с контентом и механиками
Для видео разработали модель с привязкой к категориям и группам пользователей. Ограничения реализованы через many-to-many связи в Django ORM: у каждого видео есть список allowed_categories и excluded_users. При запросе списка видео QuerySet фильтруется по правам текущего пользователя.
Достижения спроектированы с полем progress (IntegerField от 0 до 100), которое обновляется триггером при каждом засчитанном просмотре видео.
Инфраструктура
Сериализаторы DRF автоматически преобразуют модели в JSON, схемы для Swagger генерируются через drf-spectacular без дублирования кода. Docker Compose связывает Django, Postgres, Redis и Celery в единую инфраструктуру — разработчик пишет код локально, но окружение идентично продакшену.

Бизнес получил масштабируемую backend-инфраструктуру на Django с асинхронной обработкой через Celery, готовую к росту нагрузки:
Система готова к интеграции с маркетплейсами для обмена баллов на товары — API спроектирован с расчётом на расширение функционала.
Пользователи получили мобильное приложение с полноценной системой монетизации просмотров:
Просмотры обрабатываются в реальном времени, достижения обновляются асинхронно, а администратор управляет контентом и рассылками из Django-админки.

Интернет-магазин JUNIQE: реализована покупка в один клик с выбором размеров и рамки, редизайн страниц, интеграция с API и корзина для удобства пользователей.

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