Open Longevity Genes представляет собой web-приложение, хранящее данные о генах в СУБД MySQL. Часть данных собирается по API сторонних ресурсов, находящихся в открытом доступе, таких как Gene Age, Entrez Gene и Protein Atlas и Gene Ontology, часть внесена биологами и приведена к единой форме.
Серверная часть (бэкэнд) включает в себя API и CMS и написана на PHP 7.2 с использованием фреймворка Yii 2.
Клиентская часть (фронтенд) — одностраничное веб-приложение, написанное на JavaScript (Angular 8, Typescript).
В самом начале разработки был создан прототип на РHP, включавший в себя минимальный базовый функционал для представления данных из базы. Биологи получили возможность добавлять данные в базу данных через CMS. Вплоть до ноября 2019 года почти вся разработка шла на бэкенде.
В ноябре прошлого года мы перенесли логику из прототипа в новый проект на фреймворке Yii 2 и разделили бэкенд и фронтенд.
Мы провели работы по администрированию и настройке интеграции, настроили сборку и поставки frontend и backend приложений через GitLab CI, настроили стенды для разработки и тестирования и настроили окружения. По мере разработки часть функционала была перенесена с бэкэнда на фронтенд.
С этого момента параллельно идет работа над
- API;
- CMS для работы биологов с данными в базе;
- Веб-приложением на Angular;
Ниже приведены основные изменения, которые происходили в проекте до настоящего времени.