Это дипломная работа для студента (студент получил красный диплом). Сайт писался с нуля, включая админку. Ректор сказал, что при создании сайта нельзя использовать конструкторы. Я воспринял это как вызов и написал свой конструктор страниц в админке.
Краткая выжимка из описания:
- ООП-код с модульной системой в админке. Написано 6 модулей.
- Блочная, семантическая, адаптивная вёрстка.
- Результат PageSpeed Insights: 100 на компе и 90 на мобильниках.
- ЧПУ (человекоподобные урл) с автоматическим переводом русских ссылок в транслит по стандарту Яндекса
- Редактор шаблонов страниц с возможностью перетаскивания блоков.
- Механизм авторизации администратора.
- Редактор стилей для каждой страницы.
- Загрузка изображений с автоматическим созданием миниатюр. Все изображения конвертируются в формат webp, что значительно ускорило сайт.
- Новости, которые выводятся по двум предустановленным шаблонам на выбор администратора.
- Конструктор навигации.
- Управление заявками на обратный звонок.
- Отправка почты через библиотеку PHPMailer и внешний SMTP.
- Управление списком администраторов.
- Настройки сайта, которые выводятся в OpenGraph и meta-теги на сайте.
- Все даты хранятся в базе по часовому поясу Гринвича (GMT+0), а на сайт выводятся по часовому поясу Москвы (GTM+3). Это позволит в будущем выводить даты из базы в разных часовых поясах (если у заказчика появится филиал в другом часовом поясе, или потребуется добавить англоязычную версию сайта для зарубежных партнёров).
- Применено множество JS-библиотек: jQuery, jQuery UI, CKEditor, Ace, Fancybox, Inputmask.