Приложение Goals, системы Карта Успеха

Материал из m6a
Версия от 13:41, 30 марта 2025; Vshpagin (обсуждение | вклад) (Новая страница: «== Общее описание == Приложение `goals` отвечает за управление целями пользователя в системе…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Общее описание

Приложение `goals` отвечает за управление целями пользователя в системе "Карта успеха". Каждая цель связана с жизненной потребностью и имеет свой приоритет и процент выполнения.

Модель данных

Goal

  • (Опишите поля модели `Goal`, например:
    • `id` - Integer (Primary Key)
    • `life_need` - ForeignKey (связь с моделью LifeNeed)
    • `name` - CharField (название цели)
    • `description` - TextField (описание)
    • `completion_percentage` - IntegerField (процент выполнения, от 0 до 100)
    • `priority` - IntegerField (приоритет)

)

Методы модели

  • (Опишите методы модели `Goal`, например:
    • `clean()` - Валидация модели

)

Функциональность

Основные операции

  • Создание целей
  • Редактирование целей
  • Удаление целей
  • Просмотр списка целей
  • Просмотр деталей цели

Управление приоритетами

  • Повышение приоритета
  • Понижение приоритета
  • Автоматическое назначение приоритета при создании

Дополнительные функции

  • Отслеживание процента выполнения
  • Связь с проектами
  • Расчет длительности мероприятий

URL маршруты

  • (Перечислите URL маршруты приложения и их соответствие представлениям, например:
    • `/goals/` - Список целей
    • `/goals/<int:pk>/` - Детали цели
    • `/goals/create/` - Создание цели
    • `/goals/<int:pk>/update/` - Обновление цели
    • `/goals/<int:pk>/delete/` - Удаление цели

)

Формы

GoalForm

  • (Опишите поля формы `GoalForm`, например:
    • `name` - CharField (поле для ввода названия)
    • `description` - TextField (поле для ввода описания)
    • `life_need` - ForeignKey (выбор жизненной потребности)
    • `completion_percentage` - IntegerField (поле для ввода процента выполнения)

)

Валидация

  • Проверка обязательных полей
  • Валидация описания (минимум 10 символов)
  • Проверка процента выполнения

Шаблоны

Основные шаблоны

  • `goal_list.html` - список целей
  • `goal_detail.html` - детали цели
  • `goal_form.html` - форма создания/редактирования

Особенности шаблонов

  • Навигация по хлебным крошкам
  • Табличное отображение данных
  • Кнопки управления приоритетом
  • Формы с валидацией

Тестирование

Модульные тесты

  • Создание цели
  • Валидация процента выполнения
  • Проверка уникальности приоритета
  • Тест обязательных полей

Проверяемые аспекты

  • Корректность данных
  • Ограничения модели
  • Валидация полей
  • Связи с жизненными потребностями

Безопасность

Защита

  • Декоратор `@login_required`
  • Валидация данных
  • Проверка прав доступа
  • CSRF защита

Валидация

  • Проверка процента выполнения
  • Уникальность приоритета
  • Обязательные поля
  • Форматы данных

Интеграция

С другими приложениями

  • Связь с жизненными потребностями
  • Связь с проектами
  • Интеграция с пользователями

Сигналы

  • `post_save` - после сохранения
  • `post_delete` - после удаления
  • Обновление связанных данных

Особенности реализации

Управление приоритетами

  • Автоматическое назначение
  • Переупорядочивание
  • Проверка уникальности

Отслеживание прогресса

  • Процент выполнения
  • Связь с проектами
  • Расчет длительности

Дополнительные поля

  • Описание
  • Связь с жизненной потребностью
  • Приоритет