Техническое задание на разработку – платформы для IT курса
1. Введение
1.1 Цель проекта
Целью проекта является создание онлайн-платформы для обучения IT-специалистов, предоставляющей возможность обучения курсам по различным технологиям, включая Kubernetes, с использованием инновационных методов и инструментов.
2. Требования к технологическому стеку
2.1 Бэкенд
Язык программирования: GoLang
2.2 Фронтенд
Фреймворк: React, Next.js
3. Основной функционал
3.1 Главная страница
- Список курсов с указанием цен и возможностью записи на курс.
- Аутентификация и регистрация пользователей.
- Статические страницы с информацией (контакты, о нас и др.) с возможностью редактирования.
3.2 Страница пользователя (студента)
- Личная страница пользователя с возможностью редактирования профиля.
- Список курсов, на которые записан пользователь.
3.3 Страница учителя
- Личная страница учителя с возможностью редактирования профиля.
- Список студентов на курсе учителя.
- Управление курсами (добавление, редактирование).
3.4 Страница администратора
- Список пользователей и учителей.
3.5 Страница курсов (администрирование)
- Возможность добавления курсов в текстовом и видео формате.
- Добавление тестов для оценки знаний студентов.
- Отображение прогресса студента.
- Возможность запуска виртуального Kubernetes кластера для выполнения заданий.
- Отслеживание прогресса в терминале с использованием bash-скриптов для проверки выполненных заданий.
4. Особенности курса по Kubernetes
Студент, зарегистрированный на курс по Kubernetes, должен иметь возможность автоматически поднимать виртуальный Kubernetes кластер для выполнения заданий.
5. Технические детали
5.1 Автоматическое развертывание Kubernetes кластера
- Разработать механизм автоматического развертывания виртуального Kubernetes кластера для каждого студента, зарегистрированного на курс.
- Обеспечить изоляцию кластеров между студентами.
5.2 Проверка заданий через терминал
- Реализовать возможность отслеживания прогресса студента через терминал с использованием bash-скриптов.
- Предоставить интерфейс для загрузки и проверки заданий.