Я проработал в этой компании около полугода, но проекты, которые я выполнил были достаточно сложные и интересные. У компании были очень крупные заказчики, сообщаю только о тех с которыми я работал:
были еше небольшие проекты у довольно серьезных заказчиков, но эти три наиболее интересны. Я не могу дать ссылки на сайты или страницы, все проекты были внутренними, в подробном описании я не привожу скриншотов и развернутой информации в силу понятных причин.
Компания работала только с технологией WebSoft, это система управления персоналом, более подробно о ней можно узнать здесь.
В своих проектах мне приходилось использовать API WebSoft, я делал backend и frontend на Vue, также создавал внутрениие модули системы и новые сущности. В технологию были встроены XAML и ExtJS, которыми я владею и поэтому приходилось делать сложные вещи на сервере и клиенте.
Ответ на вопрос, почему я проработал так недолго в компании: обратите внимание на время, начало 2022 года, для крупынх заказчиков с которыми работала наша компания наступил небольшой шок и количество заказов по работе с персоналом резко сократилось. Обычно у меня в работе было не менее двух проектов, когда наступила пауза и проектов не было вообще, я сразу начал искать другую работу и нашел ее очень быстро. Кроме этого технология Websoft не очень мне нравилась в силу своей ограниченности.
На frontend-е Websoft использует ExtJS, уже в 2016 году я работал с ExtJS 6, в 2021 в Websoft был установлен ExtJS 5, но он был достаточно функционален. Разметка для основного интерфейса была сделана на XAML, даже консоль администратора можно было запустить в браузере IE или EDGE. На backend работал JScript, он довольно убогий по возможностям и я все время пытался как-то подключить к Websoft язык C#, но не преуспел. У Websoft есть API, которое работает с чем угодно, для проекта М-Видео он использовался в связке с Vue.
М-Видео
Один из самых моих интересных проектов, хотя небольшой. Его можно назвать неудачным. Я сделал его полностью и он работал, но Заказчик решил изменить конфигурацию и перенести часть функций в web-сервис. Совесть моя чиста, с самого начала было обсуждение об использовании web-сервиса, как предлагал наш архитектор, но Заказчик выбрал решение с интеграцией функций в общий проект, архитектор не настоял на своем требовании и сначала я сделал версию для интеграции модуля в общий проект, что потребовало дополнитеьных усилий.
Для сертификации и обучения персонала М-Видео на момент выполнения проекта использовала Websoft в качестве backend и собственную разработку портала на Vue. В мою задачу входило создать на backend приложение, которое бы собирало сведения о сертификации сотрудников компании и формировало бы файлы сертификатов в формате PDF. Кроме этого нужно было создать на портале страницу, на которой сотрудники могли бы посмотреть и скачать свои сертификаты, страница должна была быть адаптивной для всех устройств.
Работа разделилась на две части.
Дело усложнялось тем, что шаблон содержал ряд графических элементов, таких как логотип компании, печать, подпись-факсимиле и т.д. Я принял решение, что HTML-файл сертификата должен быть самодостаточным, то есть содержать в себе все элементы, изображения должны быть вставлены в ссылки на них в виде бинарных строк.
Backend
Для работы с сертификатами в базе данных проекта я создал дополнительные таблицы. В этих таблицах размещались шаблоны сертификатов для различных курсов, графические объекты сертификатов, сведения о серфтификатах работников.
Для создания сертификата я написал DLL на .NET CORE (язык C#) и подключил ее к ядру Websoft на IIS. Разметка сертификатов выполнялась в HTML, графические элементы внедрялись в страницу через ссылки со строками в бинарном виде. Для настройки внешнего вида сертификатов я написал также десктопное приложение на WinForms к которому подключил dll, это позволило быстро проверять внешний вид сертификата, который выдавала dll. Для работы с PDF я использовал библиотеку iText.
Моими коллегами по проекту были созданы модули тестирования персонала и данные сохранялись в таблицу результатов. На стороне MS SQL Server я создал JOB, который периодически запускался, просматривал таблицу на наличие новых результатов тестирования без сертификатов, собирал файлы PDF и иконки сертификатов для frontend-приложения и выкладывал их в папку проекта к которой уже в дальнейшем обращалась программа на VUE и показывала сертификаты работника.
Frontend
Портал обучения был написан на VUE 2.5, веб-портал из поставки WebSoft не использовался. Был создан специальный API-сервер, который обслуживал запросы со стороны VUE. Так как все окружение было создано до меня, то я использовал уже готовые решения. Для работы с сертификатами была создана страница на портале с которой я работал. Верстка была адаптивной, все шаблоны располагались в Figma, дизайнер в команде был очень креативный и мне пришлось немного улучшить визуальные компоненты, в основном это коснулось слайдера сертификатов и вывода заголовков, помню, что потребовались еще дополнительные усилия для организации скачивания файлов сертификатов в формате PDF.
Beeline
Этот проект был значительно проще предыдущего. Использовался веб-портал из поставки Websoft, к нему была подключена страница для работы с курсами. Данные я получал через AJAX, мне готовил их на backend-е коллега, и я к серверной части практически не прикасался.
Был создан макет в Figma довольно изрядной сложности, с множеством мелких элементов: линий, теней, иконок и от меня требовалось полностью его повторить для PC-версии и мобильной. Была обычная верстка HTML/CSS и для работы с данными использовался формат JSON, данные я обрабатывал обычным javascript и динамически строил страницы.
Проект заполнился именно своей трудоемкостью верстки.
Альфа-банк (Казахстан)
В этом проекте на стороне Заказчика был развернут полноценный портал, с клиентской и административной частью. Данные о персонале я получал от API 1C, объем был довольно болшой и на первых порах JScript не справлялся с XML-документом огромных размеров.
В остальном Заказчик использовал стандартные возможности Websoft и в мою задачу входило делать небольшие правки на стороне frontend и backend как и для клиентской части, так и для административной. Здесь использовался XAML и ExtJS. Были небольшие проблемы с кэшированием, кэш не хотел чиститься и обновляться.
Спокойный и линейный проект без особых проблем.
