22 января 2016

Код во благо

Работая в IT-индустрии, понимаешь, как она многогранна. Это и высоконагруженные системы, способные автоматизировать процессы предприятий, фабрик и целых городов, и разработки космической эры, и нанотехнологии, которые получают всё большее распространение… Но нельзя забывать о том, что исконное предназначение всех этих достижений – помогать человеку и упрощать его жизнь. Тем больше причин не обходить вниманием проект, который Noveo разрабатывает совместно с европейскими партнёрами на протяжении уже более 5 лет.

Нашим заказчиком является одна из крупнейших благотворительных организаций Европы, включающая в себя ряд центров и благотворительных фондов. Деятельность организации направлена на помощь людям с редкими заболеваниями центральной нервной системы и их семьям и идет сразу в нескольких направлениях. Первое из них – исследования. Наш партнёр содержит оснащённый по последнему слову техники исследовательский центр, занимающийся изучением болезней ЦНС и поиском способов помочь людям, будь то разработка лекарств, специального оборудования или чего-либо ещё. Все успешные разработки, созданные в исследовательском центре, претворяются в жизнь и распределяются между людьми, страдающими заболеваниями ЦНС. Помимо технической и медицинской помощи, организация заказчика стремится облегчить повседневную жизнь больных и их семей: для них открываются специальные магазины, проводятся мероприятия, всем нуждающимся оказывается психологическая помощь.

Поскольку организация является некоммерческой, её деятельность полностью осуществляется за счёт добровольных пожертвований, которые собираются в течение года на благотворительных мероприятиях и сайте заказчика. Каждый год традиционно заканчивается масштабным мероприятием в центре столицы, где оглашение итогов года и сбор пожертвований сочетаются с элементами парада, шоу и выступлениями звёзд первой величины. Все участники мероприятия отдают свои гонорары в пользу благотворительного фонда. Отдельного упоминания заслуживает то, что помимо звёзд эстрады и простых людей в благотворительности принимает участие и само государство, предоставляя налоговые послабления участникам марафона.

Плотно сотрудничая с европейскими заказчиками, мы на протяжении нескольких лет следили за деятельностью организации, ещё не зная, что однажды нам предстоит работать вместе. Выделенная команда разработчиков с нашей стороны вносит свой посильный вклад в разработку и поддержку IT-составляющей организации заказчика.

Интересной особенностью проекта является то, что он состоит из нескольких независимых, но плотно интегрированных друг с другом систем. Наша команда занимается поддержкой нескольких из них: это личный кабинет с возможностью привязки пожертвований к своему аккаунту (что используется для расчёта налоговых вычетов), информационный сайт, где можно найти новости о деятельности заказчика, а также агрегатор постов из социальных сетей, позволяющий формировать новостную ленту из записей, отмеченных определёнными хэштегами. Отдельным направлением работы нашей команды была миграция форума, предназначенного для общения родственников больных между собой, а также со специально приглашёнными психологами и врачами.

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

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

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

Однако, помимо интересных и необычных задач, нашей команде пришлось столкнуться и с рядом трудностей. Первая и главная из них заключалась в том, что портал организации, существующий уже более 10 лет, написан на устаревших к настоящему времени технологиях, поддерживать которые со временем становится всё сложнее. Поскольку в финансовых вопросах заказчик стоит перед необходимостью выбора между помощью людям и вложениям в собственные системы, он склонен очень обдуманно подходить к распределению бюджета и пока не готов к полному рефакторингу всех составляющих проекта. В связи с этим рефакторинг проекта и обновление технологий проводятся по частям, начиная тех с фрагментов, где это наиболее необходимо.

Ещё одна из особенностей деятельности заказчика – высочайший уровень требований к безопасности. Это полностью оправдано, если вспомнить, что речь идёт о миллионных пожертвованиях, но порождает определённые трудности, когда требуется срочно исправить ошибку, а у разработчиков есть доступ только на препродакшен-сервер.

Помимо разработки нового функционала и обновления технологий, наша команда занимается поддержкой системы в работоспособном состоянии. Это особенно актуально в течение главного события года – двухдневного марафона, во время которого количество посетителей портала достигает нескольких десятков миллионов. Такая нагрузка требует повышенного внимания, и вот уже пятый год выделенный разработчик со стороны Noveo непрерывно находится на связи в течение всего мероприятия, чтобы при необходимости оказать срочную помощь. К счастью, за годы нашего сотрудничества такой необходимости не возникло ни разу: система продолжала нормально функционировать, несмотря на возрастающее в тысячи раз количество посетителей.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте в нашем блоге

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: