Загрузка данных


Техническое задание (ТЗ) на разработку сайта

1. Общие сведения

· Название проекта: SkillDrop
· Тип сайта: Веб-приложение (SPA), адаптивное под мобильные устройства.
· Цель: Создать платформу для публикации и прохождения коротких образовательных курсов.

2. Целевая аудитория

1. Студенты/Новички: Хотят быстро получить базовый навык.
2. Эксперты-любители: Хотят поделиться опытом и получить обратную связь (или монетизацию).

3. Функциональные требования

3.1. Роли пользователей

1. Гость: Может просматривать каталог курсов, но не может проходить их.
2. Студент (Авторизованный пользователь): Может проходить курсы, оставлять отзывы, сохранять курсы в "Избранное".
3. Автор: Может создавать курсы, редактировать их, видеть статистику (просмотры/прохождения).
4. Администратор: Модерация контента, управление пользователями.

3.2. Основной функционал (Страницы и модули)

Главная страница:

· Hero-секция с поисковой строкой и призывом к действию.
· Блок «Популярное» (сортировка по просмотрам).
· Блок «Новое» (последние добавленные курсы).
· Категории (например: IT, Дизайн, Языки, Быт, Финансы).

Каталог курсов:

· Фильтрация: по категории, длительности (до 3 мин, до 5 мин), уровню сложности.
· Поиск по ключевым словам.
· Карточка курса: Обложка, Название, Автор, Длительность, Рейтинг.

Страница курса:

· Плеер (видео) или контентная часть (текст + картинки).
· Прогресс-бар прохождения.
· Кнопка «Завершить».
· Блок комментариев/вопросов.
· Похожие курсы.

Личный кабинет (Профиль):

· Для Студента: Список пройденных курсов, список «Избранное», сертификаты (опционально).
· Для Автора: Кнопка «Создать курс», список своих курсов, статистика (кол-во просмотров).

Создание курса (Конструктор):

· Загрузка обложки.
· Добавление шагов (слайдов): Текст + Фото/Видео.
· Указание категории и тегов.

4. Дизайн и UX/UI

· Стиль: Минимализм, чистота, много «воздуха». Акцентные цвета — яркие (например, лаймовый или электрик).
· Анимации: Плавные переходы при скролле и переключении слайдов курса.
· Адаптивность: Mobile-first (так как курсы короткие, многие будут заходить с телефона).

5. Технический стек (Рекомендация)

· Frontend: React.js или Next.js (для SEO-оптимизации), Tailwind CSS (для быстрой верстки).
· Backend: Node.js (Express) или Python (Django/FastAPI).
· База данных: PostgreSQL.
· Хостинг: Vercel (фронт) + Railway/Heroku (бэк).

6. Этапы разработки (Roadmap)

1. MVP (Минимально жизнеспособный продукт):
   · Верстка главной страницы и каталога.
   · Возможность регистрации/входа.
   · Просмотр курса (без конструктора создания).
   · Тестовые данные (3-5 курсов).
2. Этап 2:
   · Личный кабинет автора.
   · Конструктор курсов (добавление текста и картинок).
   · Система лайков и комментариев.
3. Этап 3:
   · Загрузка видео.
   · Геймификация (бейджи за пройденные курсы).
   · Монетизация (платные курсы или донат авторам).

---

Пример структуры главной страницы (Wireframe concept)

1. Header: Логотип, Поиск, Войти/Регистрация.
2. Hero: Заголовок «Учись чему угодно за 5 минут». Кнопка «Начать».
3. Категории: Иконки-кнопки (IT, Кулинария, Спорт...).
4. Сетка курсов: Карточки с превью (как в YouTube, но аккуратнее).
5. Footer: О проекте, Контакты, Правила.

Если нужно, могу расписать подробнее структуру базы данных или написать код для одной из карточек курса (HTML/CSS).