Skip to content

#24 <Feat>: Добавить возможность предложить урок - #582

Open
konard wants to merge 3 commits into
mainfrom
issue-24-41f551e8
Open

konard wants to merge 3 commits into
mainfrom
issue-24-41f551e8

Conversation

@konard

@konard konard commented Sep 10, 2025 •

Copy link
Copy Markdown
Contributor

🎯 Решение 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] Добавить возможность предложить урок 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

1 participant