Техническое задание: Мини-CRM система на Django

Цель проекта

Разработать легковесную, но функциональную CRM-систему для базового управления продажами и клиентами с возможностью последующего расширения функционала.

Основные функциональные требования

1. Управление данными

  • Реализовать три основные сущности:
    • Lead (Лид) - потенциальный клиент/контакт.
    • Deal (Сделка) - коммерческое предложение или этап продажи.
    • Company (Компания) - организация-клиент.
  • Для каждой сущности предусмотреть стандартный CRUD (создание, чтение, обновление, удаление).
  • Обеспечить связи между сущностями (например, лид относится к компании, сделка привязана к лиду).

2. Система ролей и прав доступа

  • Реализовать две базовые роли пользователей:
    • Manager (Менеджер) - полный доступ на создание, редактирование и удаление записей.
    • Viewer (Наблюдатель) - доступ только на просмотр данных без возможности изменений.

3. Уведомления

  • Настроить отправку email-уведомлений при изменении статуса у сущностей (Lead/Deal).
  • Отправку писем реализовать через очередь задач (например, Celery + Redis) для асинхронной обработки и избежания блокировки интерфейса.

4. Документация API

  • Интегрировать Swagger (DRF Spectacular или аналоги) для автоматической генерации интерактивной документации по API.

5. Технические аспекты

  • Проект должен быть написан на Django и Django REST Framework.
  • Код должен быть чистым, документированным и готовым к масштабированию.
  • Предоставить инструкцию по развертыванию (например, в Docker).

Разработка рабочей документации на капитальный ремонт теплосетей в пятиэтажном доме

Требуется подготовить полный альбом рабочей документации для ремонта внутренней системы теплоснабжения в пятиэтажном многоквартирном доме. В дальнейшем необходимо будет вносить правки по замечаниям заказчика.