November 13, 2023

Чем мы занимаемся в ngx-smart

Что за компания?

Компания ngx-smart занимается проектами в сфере EdTech (educational technologies). Главный продукт это платформа для онлайн-обучения, сам исходный код под NDA. В компании есть группы разработчиков, 10 человек активных контрибютеров в направлении фронтенд разработки. Несколько человек отвечают за бэкенд.

Проект онлайн-платформы для обучения

Стек по фронтенду: Angular + NX + NGRX + Angular Material. Платформа включает себя полный функционал для онлайн-образования. Конечный продукт включает в себя админская панель для управления различными параметрами, менеджмента участников и их доступов, разделение на потоки, сводные таблицы, настройка тарифов, подключение оплат, управление различными видами материалов для обучение, написанием статей, запуском курсов для обучения и тд.

По клиентской части продукт включает в себя модули авторизации, таск-менеджера, личного кабинета, учета времени проведенного за решением задач, статей с комментариями и полезными материалами для обучения. Так же включает себя модуль с чатами между преподавателями и студентами а так же между студентами. Так же включает в себя различные графики и метрики которые интегрированы с github и другими внутренними данными которые отображаются в интерактивном виде для отслеживания прогресса. На проекте есть темизация (темы светлая/темная/кастомная) и мультиязычность (рус/анг).

Как проходит разработка?

Есть выделенный тимлид по фронтенду, так же присутствует деление на группы по несколько человек. Разработка ведется в таск-менеджере taiga.io, где для задач проставляются сторипоинты, разработка по методологии agile и канбан.

Аналитик описывает задачи, тимлид оформляет их в таск-мендежер и добавляет в спринт, разработчики разбирают задачи, создают ветки и ведут разработку в них (методология git-flow), затем делают пуллреквесты в главную ветку (dev/main), затем задача проходит код-ревью, после возможных доработок задача сливается в главную ветку, уходит на проверку, тестировщик проверяет работоспособность приложения, создает новые задачи для фикса. Периодически проект выкладывается на стенд.

Чем занимался я на проекте?

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

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