Skip to content

Conversation

konard
Copy link
Contributor

@konard konard commented Sep 10, 2025

🎯 Решение Issue #24

Реализована полная функциональность для предложения уроков пользователями.

📋 Что реализовано

Backend

  • ✅ Создана сущность LessonSuggestion с полями: название, описание, категория, содержание, статус
  • ✅ Добавлен LessonSuggestionController с REST API для CRUD операций
  • ✅ Реализован LessonSuggestionService с бизнес-логикой и проверкой доступа
  • ✅ Создан LessonSuggestionRepository для работы с БД
  • ✅ Добавлена миграция V25__Create_Lesson_Suggestion.sql

Frontend

  • ✅ Создан API клиент для работы с предложениями уроков
  • ✅ Реализован компонент LessonSuggestion с формой создания и списком предложений
  • ✅ Добавлена кнопка "Предложить урок" в список уроков каждой категории
  • ✅ Настроена навигация и роутинг для новой страницы /lesson-suggestion
  • ✅ Добавлены TypeScript типы для lesson suggestions

🎨 Пользовательский интерфейс

Пользователи теперь могут:

  1. Предлагать новые уроки с заполнением:

    • Названия урока (обязательно)
    • Описания урока (обязательно)
    • Категории (JavaScript, HTML/CSS, React, Git, Python, Другое)
    • Детального содержания урока (необязательно)
  2. Просматривать свои предложения со статусами:

    • 🟡 На рассмотрении (PENDING)
    • 🟢 Одобрено (APPROVED)
    • 🔴 Отклонено (REJECTED)
  3. Легко получать доступ к функции через кнопку "Предложить урок" в любой категории уроков

🔧 Технические детали

API Endpoints

  • POST /lesson-suggestion - Создание предложения
  • GET /lesson-suggestion - Получение предложений пользователя
  • GET /lesson-suggestion/all - Получение всех предложений (для админов)
  • GET /lesson-suggestion/status/{status} - Фильтрация по статусу
  • PUT /lesson-suggestion - Обновление предложения
  • DELETE /lesson-suggestion/{id} - Удаление предложения

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

  • Проверка доступа: пользователи могут редактировать только свои предложения
  • Валидация обязательных полей на фронтенде и бэкенде

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

Функциональность готова к тестированию:

  1. Перейти в любую категорию уроков (JavaScript, React, и т.д.)
  2. Нажать кнопку "Предложить урок" внизу списка
  3. Заполнить форму и отправить предложение
  4. Просмотреть созданные предложения в списке

📝 Следующие шаги

После одобрения этого PR можно добавить:

  • Админ-панель для модерации предложений
  • Email уведомления о статусе предложений
  • Возможность голосования за предложения другими пользователями

Fixes #24

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #24
@konard konard self-assigned this Sep 10, 2025
konard and others added 2 commits September 10, 2025 21:39
Реализована полная функциональность для предложения уроков пользователями:

Backend изменения:
- Создана сущность LessonSuggestion с полями: название, описание, категория, содержание, статус
- Добавлен LessonSuggestionController с REST API для CRUD операций
- Реализован LessonSuggestionService с бизнес-логикой
- Создан LessonSuggestionRepository для работы с БД
- Добавлена миграция V25__Create_Lesson_Suggestion.sql

Frontend изменения:
- Создан API клиент для работы с предложениями уроков
- Реализован компонент LessonSuggestion с формой создания и списком предложений
- Добавлена кнопка "Предложить урок" в список уроков каждой категории
- Настроена навигация и роутинг для новой страницы
- Добавлены TypeScript типы для lesson suggestions

Пользователи теперь могут:
- Предлагать новые уроки с названием, описанием, категорией и содержанием
- Просматривать свои предложения со статусами (на рассмотрении/одобрено/отклонено)
- Переходить к форме предложения урока из любой категории уроков

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@konard konard changed the title [WIP] Добавить возможность предложить урок #24 <Feat>: Добавить возможность предложить урок Sep 10, 2025
@konard konard marked this pull request as ready for review September 10, 2025 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Добавить возможность предложить урок

1 participant