Приложение 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` - после удаления
- Обновление связанных данных
Особенности реализации
Управление приоритетами
- Автоматическое назначение
- Переупорядочивание
- Проверка уникальности
Отслеживание прогресса
- Процент выполнения
- Связь с проектами
- Расчет длительности
Дополнительные поля
- Описание
- Связь с жизненной потребностью
- Приоритет