Давайте знакомиться!

Меня зовут Дмитрий, и я профессиональный web разработчик c опытом работы более 10 лет.

Последние годы я успешно занимаюсь разработкой и сопровождением систем управления обучением (Learning Management System - LMS) Moodle.

Я могу помочь вам создать эффективную и надежную образовательную платформу, соответствующую вашим уникальным требованиям...

проекты и Опыт работы

Далее представлены лишь некоторые из проектов в которых я участвовал и персонально решал задачи. Что бы продемонстрировать вам разнообразность ​решаемых задач и областей их применения.

Проект: Образовательная платформа Automation Academy компании WorkFusion

Проблематика: 
Создание пользовательских отчетов, диаграмм и визуализации данных для администраторов системы.

Поскольку в академии было более 40 000 пользователей, формирование отчетов занимало несколько часов. Предыдущий отчет не позволял получать более точные данные за меньший временной период и просматривать динамику изменений в графическом виде.

Результат: 
Для упрощения работы администраторов был разработан специальный отчет, включающий всю необходимую информацию: количество новых пользователей, успеваемость студентов, полученные сертификаты и т. д. Новый отчет сократил время подготовки данных до 20 минут и предоставил администраторам возможность отслеживать динамику изменений учебного процесса в графическом виде.

Проблематика:
Улучшить UX/UI. Предыдущая структура LMS была слишком сложной и приводила к многочисленным запросам в службу поддержки со стороны обучающихся.

Результат:
Была изменена структура LMS.

После чего был реализован новый интерфейс, который стал более интуитивно понятным и значительно сократилось количество обращений в службу поддержки.

Так же программа курса была размещена вверху страницы. Студентам стало легче видеть важную информацию о текущем курсе.

Проект: Онлайн-платформа Lecture Enfant для изучения французского языка для детей 5-10 лет 

Задача в рамках проекта:
Сделать вход в систему безопасным и интуитивно понятным для маленьких детей.

Результат:
Реализована система простой идентификации и безопасного входа для учеников.

Чтобы подключить учащихся к системе, преподаватель отправляет прямую ссылку своим ученикам. Студент входит в систему в 3 шага:
1. Ввод кода класса.
2. Выбор аватара и имени среди одноклассников.
3. Выбор 3-х уникальных картинок в определенном порядке. 
Учитель заранее распечатывает карточки с информацией, которую нужно будет внести заранее. Карточки раздаются учащимся.

Задача в рамках проекта:
Сделать процесс обучения интересным и игровым для маленьких детей. Реализовать систему вознаграждений.

Исходные данные:
Ученик должен проходить обучение в рамках уровней. От простого к сложному. Каждый уровень состоит из определенного количества книг, каждая книга состоит из 8 шагов. За прохождение каждого шага система «дарит» ученику один смайлик. К концу всех уровней ученик соберет около 2500 смайлов.

Результат:
Чтобы сделать платформу обучения еще более мотивирующей для маленьких учеников, была реализована система поощрений — смайлики с животными.

Проект: ​Образовательная платформа компании Clariti Solutions

Проблематика:
Плагин добавления пользователей в когорты (Profile field based cohort membership) из официального каталога плагинов moodle долго загружает страницу со списком правил для фильтрации пользователей и нагружает сервер.

Результат:
Разработан собственный плагин автоматизированного добавления пользователей в когорты, обеспечивающий гибкую настройку правил, увеличена скорость загрузки страниц с правилами, снижено время выполнения скрипта и нагрузка на сервер.


Задача в рамках проекта:
Разработать систему управления расписанием учебных занятий для академии, которая позволит администратору, менеджеру, тренеру и студенту эффективно управлять процессом обучения и бронированием классов и сеансов. 

Основные функции включают создание и управление классами и сеансами.

Класс – это тема, которая будет преподаваться. Например, "Введение в безопасность больницы". 
Класс может включать несколько сеансов и проводиться как в виртуальном формате (например через zoom), так и в физическом формате (конкретное помещение в учебном заведении). 

Сеанс (или сессия) – это конкретное занятие по классу. Например, если тему (класс) должны пройти 300 студентов, но в физическом помещении может разместиться только 30 человек, то для этого класса будут организованы несколько сеансов в разные даты и время, чтобы все могли пройти обучение.

Краткая выдержка по требованиям клиента:

Студенты:
Могут просматривать и сами записываться на доступные сессии. Могут отменить свою запись.

Менеджеры:
Могут управлять записями студентов на сессии.

Администраторы:
Создание, изменение и удаление классов и сессий.
Управление записями студентов, включая массовую загрузку сессий из .csv файлов.

Ведение посещаемости с различными статусами (присутствовал, отсутствовал и т.д.).

Тренеры:
Могут видеть свои сессии, управлять записями студентов, вести посещаемость и управлять статусами посещения занятий студентами.

Решение:
Разработан плагин активности для курса, который позволяет:
1) Создавать и управлять физическими объектами, такими как учебные заведения и помещения в них и виртуальными объектами, такими как виртуальные комнаты для онлайн конференций.

2) Удобное отслеживание администраторами и тренерами сеансов при помощи фильтров

3) Удобное добавление и управление сеансами тренерами и администраторами прямо из курса

4) Уведомления для всех участников процесса об изменениях в сеансах, статусах и т.д.

Как вы понимаете, здесь представлена лишь малая доля из тех проектов и задач, которыми мне приходилось заниматься...

Мой опыт так же включает: 

  • Интеграции с single sign-on (SSO) - технология единого входа
  • Интеграции через REST API c платёжными сервисами
  • Миграция данных и обновление moodle на более высокие версии
  • Обеспечение безопасности обучающих платформ от всевозможных атак в сети интернет
  • Оптимизация скорости загрузки страниц сайта и курсов
  • Исправление проблем с конфликтами плагинов на сайтах, исправление ошибок
  • Составление всевозможных типов отчётов для аналитики учебного процесса
  • И многое другое...

Ещё более подробно о моём опыте вы можете узнать, связавшись со м​ной, через почту или форму обратной связи и договорившись со мной о встрече.

ТЕХНологии которые я использую в своей работе

Основные технологии

1) Языки программирования:

  • PHP: Основной язык программирования Moodle.  В работе в основном используются версии от ​7.x и выше.
  • JavaScript: Используется для создания интерактивных элементов на стороне клиента, улучшения пользовательского интерфейса и работы с AJAX.
  • HTML/CSS: Основные технологии для разработки интерфейса и стилизации страниц Moodle.

2) ​Базы данных

  • MySQL/MariaDB: Наиболее часто используемые СУБД для хранения данных Moodle.
  • PostgreSQL: Альтернативная СУБД, также поддерживаемая Moodle.

3) Веб-серверы:

  • Apache: Наиболее распространенный веб-сервер для развертывания Moodle.
  • Nginx: Легкий и производительный веб-сервер, часто используемый в качестве обратного прокси для улучшения производительности.

4) Операционные системы:

  • Linux: Наиболее рекомендуемая ОС для развертывания Moodle. Ubuntu  является популярным выбором.

Дополнительные технологии

  • Git,(GitHub,GitLab): Системы контроля версий. Используются для управления версиями кода, совместной разработки и развертывания обновлений Moodle.
  • PHPStorm: Мощная среда разработки (IDE) для разработки на PHP с поддержкой инструментов для работы с базами данных, отладчиком и интеграцией с системами контроля версий.
  • Docker: Инструмент автоматизации и контейнеризации. Используется для создания контейнеров, обеспечивающих изолированные и легко воспроизводимые среды разработки и развертывания.
  • Navicat: мощная и удобная среда для работы с базами данных, которая поддерживает широкий спектр реляционных СУБД, включая MySQL, MariaDB, PostgreSQL, Oracle, SQLite и SQL Server. Она предназначена для разработки, администрирования и управления базами данных, предоставляя множество инструментов для упрощения этих задач.
  • OpenServer: мощный и универсальный локальный сервер, предназначенный для разработки и тестирования веб-приложений на локальном компьютере. Он поддерживает различные технологии и предоставляет разработчикам удобную среду для работы с популярными веб-серверами, базами данных и языками программирования.
  • Apache: Один из самых популярных веб-серверов, используемый для разработки и тестирования веб-приложений.
  • Nginx: Легкий и производительный веб-сервер, который также поддерживается OpenServer.
  • Bootstrap: Фреймворк CSS для создания адаптивных и удобных пользовательских интерфейсов.
  • jQuery: Библиотека JavaScript для упрощения работы с DOM и создания интерактивных элементов.
  • Redis: Высокопроизводительная система кэширования и хранилище данных в памяти.
  • Memcached: Система кэширования данных в оперативной памяти, используемая для ускорения работы Moodle.
  • RESTful API: (Representational State Transfer Application Programming Interface) — это архитектурный стиль для разработки веб-сервисов, который использует принципы REST (Representational State Transfer). RESTful API предоставляет стандартизированный способ взаимодействия между клиентом и сервером через HTTP-протокол, позволяя создавать, читать, обновлять и удалять ресурсы. Используется в основном для интеграции со всевозможными сервисами.
  • OAuth 2.0:  протокол авторизации, для аутентификации и авторизации. OAuth 2.0 является широко используемым стандартом для предоставления доступа к API и веб-ресурсам, обеспечивая безопасность и гибкость.
  • SCSS (Sassy CSS) :  это синтаксис препроцессора CSS, который является частью проекта Sass (Syntactically Awesome Stylesheets). SCSS расширяет возможности стандартного CSS, добавляя переменные, вложенность, миксины, функции и другие полезные инструменты, что упрощает разработку и поддержку стилей.
  • Gulp: это инструмент для автоматизации задач (task runner) в разработке веб-приложений, который помогает разработчикам автоматизировать повторяющиеся задачи, такие как сборка, минификация, компиляция препроцессоров CSS (например, Sass или Less), тестирование и многие другие. Gulp написан на JavaScript и работает на платформе Node.js.
  • WordPress: это бесплатная система управления контентом (CMS), которая используется для создания и управления веб-сайтами. Она написана на языке программирования PHP и использует базу данных MySQL или MariaDB для хранения данных. WordPress известен своей простотой использования, гибкостью и мощной экосистемой плагинов и тем. 
    Интеграция WordPress и Moodle позволяет объединить возможности управления контентом (CMS) WordPress с мощной системой управления обучением (LMS) Moodle. Это может быть полезно для создания образовательных платформ, которые предоставляют учебный контент и курсы в удобной и доступной форме.

отправить сообщение

Готовы начать? 
Запросите бесплатную консультацию или опишите вашу проблему, заполнив форму ниже.