Commit Graph

21 Commits (b3d1daeea6dfb33f8e424b45db4fdd717de93917)

Author SHA1 Message Date
mirivlad b3d1daeea6 Feat: Генерация thumbnail для обложек курсов
 Intervention Image установлен
 generateThumbnail() - создаёт копию 400x300px с crop по центру
 deleteThumbnails() - удаляет оригинал и thumb
 Обновлены store, update, destroy методы
 View используют оригиналы для show, thumb для списка

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 12:39:10 +08:00
mirivlad 65cb891658 Feat: Увеличены лимиты для обложек курсов
 Мин. размеры: 400x300px
 Макс. размеры: 3000x2000px
 Макс. размер файла: 10MB
 Обновлены подсказки в формах

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 12:34:25 +08:00
mirivlad 5ee549fbd1 Feat: Добавлена валидация обложки курса
 Минимальные размеры: 400x300px
 Максимальный размер: 2MB
 Форматы: JPEG, PNG, WebP
 Подсказки в формах
 Кастомные сообщения об ошибках

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 12:24:28 +08:00
mirivlad 731eb48537 Feat: CRUD курсов
 CourseController (resource)
 CoursePolicy
 Маршруты: /admin/courses
 Blade-шаблоны:
  - index.blade.php (список с карточками)
  - create.blade.php (форма создания)
  - edit.blade.php (форма редактирования)
  - show.blade.php (просмотр)
 Ссылка в сайдбаре
 Загрузка изображений (thumbnail)
 Типы курсов: standard, scorm, h5p

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 11:31:40 +08:00
mirivlad ca95621856 Fix: Изменено $category на $courseCategory для соответствия route model binding
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 11:23:26 +08:00
mirivlad 381c31c686 Fix: Исправлена ссылка в edit.blade.php
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:59:51 +08:00
mirivlad 4436a6b2b3 Feat: Добавлены show и edit шаблоны для категорий
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:53:58 +08:00
mirivlad 5c1306d6e5 Fix: Указан правильный foreign key в CourseCategory::courses()
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:50:16 +08:00
mirivlad 8ce35370a9 Fix: Удалена дублирующая миграция category_id
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:45:54 +08:00
mirivlad ca2be7a926 Fix: Добавлен namespace для CourseCategoryController в routes/web.php
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:42:33 +08:00
mirivlad dacff2dd1c Feat: CRUD категорий курсов
 CourseCategoryController (resource)
 CourseCategoryPolicy
 Маршруты: /admin/course-categories
 Blade-шаблоны:
  - index.blade.php (древовидный список)
  - create.blade.php
  - _row.blade.php (partial для дерева)
 Ссылка в сайдбаре
 Вложенность категорий (parent/children)
 Scope tree() для древовидной структуры

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:39:14 +08:00
mirivlad 3bec82a991 Feat: CRUD пользователей
 UserController (resource controller)
 UserPolicy
 Маршруты: /admin/users (resource)
 Blade-шаблоны:
  - admin/users/index.blade.php (с фильтрами)
  - admin/users/create.blade.php
  - admin/users/edit.blade.php (с группами)
  - admin/users/show.blade.php
 Ссылка в сайдбаре
 Привязка к организациям
 Распределение по группам
 Управление ролями

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:29:24 +08:00
mirivlad 2561807e3b Feat: Добавлен просмотр группы (show)
 GroupController@show метод
 admin/groups/show.blade.php шаблон
 Исправлена ссылка на просмотр в admin/organizations/show.blade.php
 Загрузка пользователей группы через load('users')

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 09:56:50 +08:00
mirivlad 193d1efc50 Fix: Исправлен маршрут admin.groups.edit -> admin.organizations.groups.edit в show.blade.php
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 09:47:50 +08:00
mirivlad 052ac71e9d Fix: Убраны shallow routes для групп. Теперь все маршруты используют organization
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 09:44:57 +08:00
mirivlad 0f3bfc087d Fix: Исправлены маршруты в шаблонах групп (store, update)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 09:41:23 +08:00
mirivlad e793b377d7 Fix:
- Исправлены маршруты групп (admin.organizations.groups.*)
- Вынесен сайдбар в partial (_sidebar.blade.php)
- Добавлена ссылка на Отчёты в сайдбар
- Обновлены все шаблоны для использования partial

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 09:03:19 +08:00
mirivlad 4f5a615860 CRUD групп - Этап 2
 GroupController (index, create, store, edit, update, destroy)
 GroupPolicy (viewAny, view, create, update, delete)
 Маршруты: /admin/organizations/{organization}/groups (shallow resource)
 Blade-шаблоны:
  - admin/groups/index.blade.php (список групп организации)
  - admin/groups/create.blade.php (форма создания)
  - admin/groups/edit.blade.php (форма редактирования)
 Обновлён admin/organizations/show.blade.php (управление группами)
 Обновлён AuthServiceProvider (регистрация GroupPolicy)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 08:53:48 +08:00
mirivlad 32fed5d4b6 Fix: Добавлен метод courses() в Organization model
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 08:51:27 +08:00
mirivlad 2271abf732 CRUD организаций - Этап 2
 OrganizationController (index, create, store, show, edit, update, destroy)
 OrganizationPolicy (viewAny, view, create, update, delete)
 Маршруты: /admin/organizations (resource)
 Blade-шаблоны:
  - admin/organizations/index.blade.php (список с пагинацией)
  - admin/organizations/create.blade.php (форма создания)
  - admin/organizations/show.blade.php (просмотр + статистика)
  - admin/organizations/edit.blade.php (форма редактирования)
 Обновлённое меню в dashboard/admin.blade.php

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 08:41:45 +08:00
mirivlad 244c56df39 LMS Этап 1 MVP - Laravel 13
 Базовая функциональность:
- Аутентификация (вход/выход/регистрация)
- Роли и разрешения (Administrator, Manager, Curator, Student)
- Панель управления (dashboard) для разных ролей

 База данных (23 миграции):
- users, organizations, groups, user_groups
- course_categories, courses, course_modules
- tests, questions, answers, question_matching_pairs
- test_attempts, test_responses
- course_requests, course_request_items, course_assignments
- scorm_data, user_course_progress, logs
- permission tables

 Модели (15 моделей с отношениями):
- User, Organization, Group
- CourseCategory, Course, CourseModule
- Test, Question, Answer, QuestionMatchingPair
- TestAttempt, TestResponse
- CourseRequest, CourseRequestItem, CourseAssignment
- ScormData, UserCourseProgress, Log

 Seeders:
- RoleSeeder (роли и разрешения)
- UserSeeder (тестовые пользователи)

 Контроллеры:
- LoginController, RegisterController, DashboardController

 Blade-шаблоны:
- layouts/app.blade.php
- auth/login.blade.php, auth/register.blade.php
- dashboard/admin.blade.php, dashboard/curator.blade.php, dashboard/student.blade.php

📦 Пакеты:
- Laravel 13 (dev-master)
- spatie/laravel-permission
- laravel/sanctum

🔧 Инфраструктура:
- Nginx конфигурация
- PHP 8.4-FPM
- MariaDB

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-25 17:30:37 +08:00