Розробка сайту мовної школи на 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Розробка сайту мовної школи на 1С-Бітрікс
Складна
від 1 тижня до 3 місяців
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Розробка сайту мовної школи на 1С-Бітрікс

Мовна школа продає не товар, а результат: «говорити англійською через 3 місяці». Сайт має не просто перелічувати курси, а допомогти потенційному учню визначити свій рівень, підібрати групу та записатися — без дзвінка. На 1С-Бітрікс це реалізується через інформаційні блоки з багатовимірною фільтрацією, кастомний компонент тестування та інтеграцію з платформами онлайн-навчання.

Каталог курсів: тривимірна структура

Головна складність каталогу мовної школи — три осі фільтрації: мова, рівень, формат. Учню потрібно швидко знайти «Англійська, B1, групове заняття, вечірній час».

Інформаційний блок «Курси» містить розділи першого рівня за мовами (англійська, німецька, французька, іспанська, китайська), другого рівня — за спеціалізацією (General, Business, Exam Prep, Conversational). Властивості елемента:

  • Рівень (список з множинним вибором): A1, A2, B1, B2, C1, C2 за CEFR
  • Формат (список): групове, міні-група (3-5 осіб), індивідуальне, онлайн-група, онлайн-індивідуальне
  • Інтенсивність (список): стандарт (2 рази/тиж.), інтенсив (4-5 разів/тиж.), вихідного дня
  • Тривалість (число): кількість академічних годин
  • Вікова група (список): діти 7-10, підлітки 11-15, дорослі 16+
  • Результат (текст): що учень зможе робити після курсу

Фільтрація реалізується через bitrix:catalog.smart.filter з AJAX. Три випадаючих списки (мова → рівень → формат) працюють каскадно: при виборі мови завантажуються тільки доступні рівні.

Онлайн-запис із підбором групи

Highload-блок «Групи» аналогічний за структурою каталогу автошколи, але з доповненнями:

  • UF_TEACHER_ID — прив'язка до інформаційного блоку «Викладачі»
  • UF_LEVEL — рівень групи
  • UF_WEEKDAYS — дні занять (бітова маска: ПН=1, ВТ=2, СР=4...)
  • UF_TIME_START — час початку заняття
  • UF_CLASSROOM — аудиторія / посилання на Zoom

Форма запису пропонує відповідні групи на основі результату тесту рівня. Якщо тест пройдено і результат збережено в профілі — поле «Рівень» заповнюється автоматично, учню залишається вибрати зручний розклад.

Інтеграція з LMS та Zoom

Для онлайн-формату необхідна зв'язка з LMS (Moodle, iSpring) та Zoom/Google Meet. Інтеграція працює через REST API:

  • При створенні групи з форматом «онлайн» автоматично створюється повторювана зустріч у Zoom через API та посилання записується у властивість групи
  • Доступ до посилання відкривається в особистому кабінеті тільки для записаних учнів після оплати
  • Матеріали уроку (презентації, аудіо, домашні завдання) зберігаються в інформаційному блоці «Матеріали» з прив'язкою до курсу та уроку

Особистий кабінет учня

Кабінет побудований на кастомному шаблоні bitrix:main.profile з вкладками:

  • Мої курси — активні, завершені, майбутні
  • Розклад — календарний вигляд з кольоровим кодуванням за мовами
  • Домашні завдання — список з дедлайнами та статусами (нове / здано / перевірено)
  • Оплата — історія платежів, заборгованості, посилання на онлайн-оплату через модуль sale
  • Результати тестів — динаміка рівня, рекомендації щодо переходу на наступний

Тест визначення рівня: детальний розгляд

Тест рівня — критична точка воронки. Відвідувач приходить із запитом «хочу вчити англійську», але не знає свого рівня. Якщо запропонувати подзвонити — конверсія падає. Якщо дати пройти тест за 15 хвилин і одразу показати відповідні групи — записується.

Архітектура тесту

Інформаційний блок «Питання тестування» з розділами за мовами. Кожна мова містить підрозділи за рівнями (A1–C2). Властивості питання:

  • Тип (список): grammar, vocabulary, reading, listening
  • Рівень (список): A1–C2 — реальний рівень питання
  • Текст питання — детальний опис
  • Медіа — аудіофайл для listening-питань
  • Варіанти відповідей — 3-4 рядкові властивості
  • Правильна відповідь — номер варіанта
  • Вага — числове значення для алгоритму підрахунку

Адаптивний алгоритм

Стандартний підхід «50 питань від A1 до C2 по порядку» — довгий та нудний. Реалізуємо адаптивний алгоритм (спрощений CAT — Computerized Adaptive Testing):

  1. Тест починається з 5 питань рівня B1 (медіанний рівень)
  2. Якщо учень правильно відповідає на 4-5 з 5 — наступний блок беруться на рівень вище (B2)
  3. Якщо правильних менше 2 — на рівень нижче (A2)
  4. Якщо 2-3 — ще 5 питань того ж рівня для уточнення
  5. Тест завершується, коли алгоритм визначив стабільний рівень (два послідовних блоки з результатом 60-80%) або пройдено максимум 30 питань

Серверна частина — контролер D7 (/api/placement-test/). Клієнт відправляє відповідь на поточне питання, сервер визначає наступне питання на основі накопленої статистики. Номери правильних відповідей клієнту не передаються. Стан тесту зберігається в $_SESSION з резервним збереженням у Highload-блок (на випадок закриття вкладки — тест можна продовжити).

Маршрутизація результату

Після завершення тесту контролер:

  1. Визначає підсумковий рівень за формулою виваженого середнього (питання типу grammar мають вагу 1.0, vocabulary — 0.8, reading — 1.2)
  2. Зберігає результат у профілі користувача (властивість UF_LANGUAGE_LEVEL_{LANG})
  3. Робить вибір з Highload-блоку «Групи» з фільтром за мовою, рівнем та статусом «Набір відкритий»
  4. Повертає сторінку результату з блоками:
    • Визначений рівень з описом («B1 — Intermediate: ви розумієте основні ідеї текстів, можете спілкуватися в більшості ситуацій у подорожі...»)
    • Рекомендовані курси — карточки з інформаційного блоку з фільтром за рівнем
    • Ближайші групи — конкретні дати початку, розклад, викладач
    • Кнопка запису — веде на форму з попередньо заповненими полями (мова, рівень)

Для неавторизованих користувачів результат зберігається у cookie на 30 днів. При реєстрації дані переносяться в профіль.

Повторне тестування

Учням, які пройшли курс, пропонується пройти тест повторно через 3 місяці. Тригер — автоматичне email-повідомлення через sale.personal.section та бізнес-процес. Порівняння «до і після» відображається в особистому кабінеті як прогрес-бар з двома позначками.

Акції та реферальна програма

Інформаційний блок «Акції» з датами дії (ACTIVE_FROM, ACTIVE_TO) та типами:

  • Приведи друга — реферальне посилання генерується в ЛК, при записі нового учня за посиланням обидва отримують знижку (купони модуля sale)
  • Корпоративне навчання — окрема посадочна з формою заявки, розрахунок від кількості співробітників
  • Сезонні — літній інтенсив, підготовка до IELTS перед дедлайнами

Корпоративні заявки обробляються окремо: дані попадають у CRM Бітрікс24 через REST API webhook.

Етапи та терміни

Етап Що робимо Термін
Аналітика Карта курсів, матриця «мова × рівень × формат», вимоги до тесту 5–7 днів
Проектування Wireframes, структура інформаційних блоків, алгоритм адаптивного тесту 7–10 днів
Дизайн Макети, UI-kit, адаптив під мобільні 10–14 днів
Розробка каталогу Інформаційні блоки, фільтрація, карточки курсів, сторінки груп 10–14 днів
Тест визначення рівня Компонент, адаптивний алгоритм, сторінка результату 10–12 днів
Особистий кабінет та інтеграції ЛК учня, Zoom API, оплата 10–14 днів
Контент та тестування Заповнення бази питань, QA 7–10 днів

Загальний термін — 9–12 тижнів. Заповнення бази питань для тесту (мінімум 120 питань на мову, по 20 на рівень) може йти паралельно з розробкою.