📘 О чем эта работа
Проект реализует CRM-модуль как Web-приложение для автоматизации управления учебным процессом в образовательном учреждении. Предмет — управление студентами, преподавателями, курсами, учебными материалами и оценками; объект — CRM-модуль, интегрируемый в существующую информационную систему.
📚 Что внутри
В работе подробно описаны архитектура и реализация CRM-модуля, включая конкретные сущности базы данных, API и примеры фронтенд/бэкенд компонентов:
- ER‑диаграмма и детальное описание таблиц: roles, users, semesters, courses, uploads, materials с примерами значений (семестры 'Весенний 2024', примеры пользователей и загрузок).
- REST API с перечислением эндпоинтов: /api/register, /api/login, /api/semesters, /api/courses, /api/courses/{courseId}/materials, /api/materials/{materialId}/uploads, /api/users/{userId}/grades.
- Архитектура: многослойная схема (Presentation, Business Logic, Data Access, Data Storage). В проекте использованы Spring Boot (бэкенд), Spring Data JPA, JWT и BCrypt для безопасности, PostgreSQL (H2 для разработки) и React + MUI на фронтенде.
- Файловое хранилище: локальное или облачное хранение загрузок (структура uploads с filepath и filetype).
- Диаграммы: IDEF0, диаграмма компонентов, class diagram, sequence diagram, DFD с описанием потоков и сценариев (регистрация, аутентификация, загрузка отчётов).
- Примеры кода фронтенда: компоненты Dashboard, Courses, CourseDetail, Profile, UploadForm и конфигурация axios с добавлением токена.
- Фрагмент pom.xml и список зависимостей для Spring Boot (web, data-jpa, security, h2, lombok, validation, commons-fileupload).
- Алгоритмы: регистрация пользователя (валидация, BCryptPasswordEncoder), аутентификация (поиск по email, проверка пароля, генерация JWT), последовательность сохранения через репозиторий.
- Требования: функциональные (регистрация, управление курсами, материалы, оценки) и нефункциональные (безопасность, производительность, масштабируемость, доступность).
📊 Для кого подходит
Подходит студентам и группам по направлениям 'Прикладная информатика' и 'Информационные системы', преподавателям дисциплин по корпоративным ИС и разработчикам ПО, которым нужно быстро получить готовую структуру CRM-модуля для внедрения или адаптации.
✨ Особенности
В проекте представлены конкретные артефакты, готовые к использованию: схемы БД с примерами записей, спецификации REST API, диаграммы (IDEF0, class, sequence), фрагменты реального кода React-компонентов и backend-зависимости. Это экономит время при внедрении: готова модель ролей/пользователей, шаблон для хранения материалов и отчётов, готовые сценарии аутентификации через JWT и загрузки файлов.
❓ Частые вопросы
Подойдет ли для моего ВУЗа?
Структура и сущности универсальны: роли, семестры, курсы, материалы и загрузки легко адаптируются к локальным требованиям.
Можно адаптировать?
Да. Описаны точки интеграции (REST API, файл-хранилище, база данных) и рекомендации по масштабированию и безопасности для перехода с H2 на PostgreSQL и развёртки в облаке.
Дополнительно
В приложениях приведены готовые React-компоненты для дашборда, карточек курсов, детальной страницы курса и диалога загрузки отчёта; в бэкенде — схема работы контроллеров, сервисов и репозиториев с использованием Spring Data JPA.