BuildApps Logo

Mobile , EdTech

Проєкт з міграції OurSchoolHangout на .NET MAUI

6 лют. 2025 р.

Проєкт з міграції OurSchoolHangout на .NET MAUI

Міграція платформи OurSchoolHangout на новий технологічний стек

Навіть оптимально обраний на початку проєкту технічний стек з часом може проявити свою темну сторону. В таких випадках досить доступним і зручним способом виправлення ситуації може стати саме міграція продукту на нові фреймворки, які краще відповідають потребам та масштабу рішення. 

Проєкт міграції платформи OurSchoolHangout від BuildApps якраз є прикладом того, як можна впоратися з подібними викликами. Адаптація модулів та даних, модернізація Back-end та Front-end без переривання робочих процесів і не лише. 


Дізнайтеся більше деталей з наступних частин кейсу!

Кілька слів про клієнта

Платформа OurSchoolHangout – це ультимативне рішення для адміністрування навчального процесу, організації шкільних операцій. Іншими словами, це високотехнологічний цифровий інтерфейс, який замінює вчителям, батькам та освітянам традиційні інструменти, переносячи різні освітні елементи у хмару.

Щодо можливостей платформи, то вони наступні:

  • Єдиний дашборд з повним функціоналом. 
  • Розділені облікові записи. 
  • Автоматизовані системи для оплати навчання. 
  • Вбудовані комунікаційні рішення. 
  • Ефективні мобільні застосунки. 

Насамперед платформа призначена для адміністрування навчальних закладів, планування освітніх процесів та взаємодії з освітянами, їхніми батьками. І хоч функціонує вона досить давно, власники продукту були не цілком задоволені роботою та продуктивністю рішення. Що і спонукало їх до ініціації процесу співпраці з командою BuildApps.

Виклики та задачі проєкту

Якщо початкова задача зводилася до «покращити» платформу в досить широкому контексті, то глибокий аналіз рішення дозволив встановити причини незадовільної роботи системи та сформувати чітке ТЗ з планом дій. Останній містив наступні пункти:

  • Перенесення продукту на нові (альтернативні) «технологічні рейки».
  • Модифікація кастомних компонентів з подальшою інтеграцією в рішення.
  • Стандартизація форматів даних та протоколів обміну інформацією.
  • Адаптація APIs та оптимізація мобільних застосунків з урахуванням нового стеку.
  • Модернізація процесу CI/CD для нових ітерацій продукту, зокрема для мобільних версій.

З викликів зіткнулися здебільшого з технічними моментами та потребою чіткого обґрунтування кожної зміни та дії, які ми вважали доцільними для покращення продукту. Якщо ви читаєте цей кейс – то означає, що з перерахованими моментами ми впоралися, як і з роботою загалом.

Простими словами про складний процес міграції

Сказати що проєкт проходив просто та без проблем – означає збрехати. Хоч наш досвід та вміння і дозволили дещо згладити гострі кути, однак складнощі все ж виникали буквально на кожному етапі роботи. Ось що ми реалізували в процесі:

  • Замінили технологічний стек .NET Xamarin.Forms на .NET MAUI. І ні, Xamarin не є поганим фреймворком, просто MAUI краще підійшов для досягнення бажаних результатів саме на цій платформі.
  • Адаптували частину кастомних рішень до нового технологічного стека. Точніше, дещо змінили сам фреймворк MAUI, щоб якісно інтегрувати ряд модулів.
  • Імплементували нові та адаптували старі бібліотеки. Зокрема ті, що стосувалися функціональної частини модулів платформи.
  • Трішки видозмінили GUI порталу. Здебільшого розширили функціонал панелей керування і додали необхідні модулі до системи.
  • Автоматизували процеси CI/CD. Це дозволило пришвидшити доставляння та розгортання оновлень для мобільних застосунків у Play Market та App Store.

Нічого складного? Але ж платформа має тисячі користувачів, дані яких також довелося адаптувати до нового фреймворку. Не те щоб міграція даних була особливим викликом, однак процес вимагає значних інвестицій часу та ресурсів. І це вартувало того.

Результати, як вони є

Платформа функціонує, як і її мобільні версії для популярних операційних систем Android та iOS. Тобто задачу ми виконали вчасно і результат задовольнив власника продукту. Вибачте, сьогодні без цифр, але з конкретикою:

  • Платформа на базі .NET MAUI почала працювати значно швидше. Окрім того, збільшилася її операційна та обчислювальна продуктивність. 
  • Нові алгоритми CI/CD дозволили прискорити процес розгортання нових ітерацій продукту, зокрема оновлень для його мобільних версій.
  • Дещо видозмінився функціонал, додалася інтероперабельність для ряду компонентів платформи, покращилася робота модулів.

І власне це все. Ще опісля аудиту ми надали замовнику розгорнутий аналіз проблем та можливостей для покращення. І реалізували все, що технічно можна було реалізувати. Наразі проєкт знаходиться в режимі творчої паузи, тобто теоретично ми отримаємо підряд на його подальший розвиток.

Бажаєте реалізувати щось подібне? Просто зв'яжіться з менеджером BuildApps для початкової консультації!

Маєте ідею?

Втілимо її разом