Обязательная технология, используемая для реализации – Laravel
Остальные предполагаемые технологии, используемые для реализации:
HTML, CSS, JavaScript, Bootstrap, PHP, MySQL
Общая идея:
удобный и простой сайт для создания и прохождения курсов по любым дисциплинам. Пользователь обязан выполнять задания, развивая понимание материала.
Требуется разработать сайт для создания и прохождения обучающих курсов. Каждый курс имеет категорию, например, программирование. Категорий (тегов) может быть несколько, например: программирование, Python. На основе категорий можно производить поиск/фильтрацию курсов.
Также на главной странице должна быть навигация по категориям, в идеале в виде иерархии (но можно просто в виде списка, который отсортирован, например по алфавиту – если не будет на времени). Например (НАЧАЛО):
Математика
Геометрия
Планиметрия
Стериометрия
Алгербра
7 класс
8 класс
…
11 класс
Программирование
Python
Ветлвения if, elif, else
Цикл for
(КОНЕЦ)
При регистрации на сайте есть возможность зарегистрироваться как:
- Пользователь (ученик) – тот кто проходит курсы, обучаясь по ним
- Создатель курсов – тот кто добавляет учебные материалы (файлы, видео, текст) для самопроработки учеником. При первом добавлении курса, курс доступен только по ссылке и не виден на главной странице доступных для прохождения курсов, после утверждения модератором (смотри ниже) курс добавлятся в список общедоступных. Если курс имеет возрастные ограничения, создатель указывает их, написав минимальный возраст для прохождения, например 18 лет. В БД, в таблице users поле date_of_birth указывается дата рождения ученика, на основе которой рассчитывается его возраст (разница между сегодняшней датой и датой его рождения, выраженная в годах).
- Модератор (тот кто способен удалять/блокировать нежелательные курсы, пользователей и подтверждать статус общедоступного курса – после чего курс будет виден на главной странице доступных для прохождения курсов)
- Администратор (админ) – может всё, в том числе удалять/блокировать пользователей/курсы, менять пароли к базе данных и т.д.
Остальные детали в прилагаемом файле.