Архитектура системы "Карта успеха" — различия между версиями
Материал из m6a
Vshpagin (обсуждение | вклад) (→Backend (Django)) |
Vshpagin (обсуждение | вклад) (→Структура приложения) |
||
Строка 6: | Строка 6: | ||
** [[Приложение Categories, системы Карта Успеха|categories]] - категории | ** [[Приложение Categories, системы Карта Успеха|categories]] - категории | ||
** [[Приложение Life Needs, системы Карта Успеха|life_needs]] - жизненные потребности | ** [[Приложение Life Needs, системы Карта Успеха|life_needs]] - жизненные потребности | ||
− | ** goals - цели | + | ** [[Приложение Goals, системы Карта Успеха|goals]] - цели |
− | ** projects - проекты | + | ** [[Приложение Projects, системы Карта Успеха|projects]] - проекты |
− | ** tasks - задачи | + | ** [[Приложение Tasks, системы Карта Успеха|tasks]] - задачи |
− | ** activities - активности | + | ** [[Приложение Activities, системы Карта Успеха|activities]] - активности |
− | ** resources - ресурсы | + | ** [[Приложение Resources, системы Карта Успеха|resources]] - ресурсы |
− | ** report - отчеты | + | ** [[Приложение Report, системы Карта Успеха|report]] - отчеты |
=== API Endpoints === | === API Endpoints === |
Версия 13:36, 30 марта 2025
Содержание
Backend (Django)
Структура приложения
- Модульная архитектура с разделением на приложения:
- users - управление пользователями
- categories - категории
- life_needs - жизненные потребности
- goals - цели
- projects - проекты
- tasks - задачи
- activities - активности
- resources - ресурсы
- report - отчеты
API Endpoints
- RESTful API с CRUD операциями для каждой сущности
- Основные маршруты:
- (Опишите основные маршруты для каждой сущности)
Безопасность
- Аутентификация через Django Auth
- Декоратор `@login_required` для защиты views
- CSRF защита
- Валидация данных на уровне моделей и форм
Frontend
Шаблоны
- Базовый шаблон `base_form.html`
- Специализированные шаблоны для каждой сущности
- Шаблон для mindmap визуализации
- Адаптивный дизайн
Статические файлы
- CSS стили
- Изображения (`logo.png`, `favicon.ico`)
- JavaScript файлы
Визуализация
- Календарь активностей
- Mindmap для отображения структуры
- Графики и диаграммы (через Plotly)
База данных
Конфигурация
- SQLite как основная БД
- Модели с отношениями:
- One-to-Many
- Many-to-Many
- Foreign Key связи
Оптимизация
- Использование `prefetch_related` для оптимизации запросов
- Индексы на часто используемых полях
- Кэширование на уровне Django
API
REST API
- CRUD операции для всех сущностей
- Специальные эндпоинты для:
- Обновления статусов
- Управления приоритетами
- Планирования активностей
- Генерации отчетов
Форматы данных
- JSON для API ответов
- Формы Django для валидации данных
- Сериализация моделей
Дополнительные компоненты
Система отчетности
- Генерация отчетов по:
- Категориям
- Жизненным потребностям
- Целям
- Проектам
- Задачам
Планировщик
- Управление активностями
- Календарь
- Зависимости между активностями
- Интервалы времени
Ресурсный менеджмент
- Управление единицами измерения
- Типы ресурсов
- Отслеживание изменений ресурсов
Интеграции
- Настроена отправка email через SMTP
- Восстановление пароля
- Уведомления
Визуализация
- Plotly для графиков
- Календарь для активностей
- Mindmap для структуры
Развертывание
Docker
- Dockerfile для контейнеризации
- Настройки для production
Конфигурация
- Переменные окружения
- Настройки безопасности
- Логирование
Иерархия данных
Основная структура
- (Опишите основную иерархию данных: Life Need -> Goal -> Project -> Task -> Activity)
Ресурсная система
- (Опишите, как ресурсы связаны с другими сущностями)
Технологический стек
Основные технологии
- Django 3.x
- Django REST framework
- SQLite
- Plotly
- Pandas
Инструменты разработки
- Coverage (тестирование)
- Python Decouple (конфигурация)
- Docker
Безопасность
Аутентификация
- Встроенная система аутентификации Django
- Восстановление пароля через email
- Сессии пользователей
Авторизация
- Декоратор `@login_required`
- Проверка прав доступа
- CSRF защита
Защита данных
- Валидация на уровне моделей
- Валидация на уровне форм
- Безопасное хранение конфиденциальных данных