Skip to content
/ dsp Public

Примеры моего кода, 2022 год

Notifications You must be signed in to change notification settings

WiseToad/dsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Примеры моего кода, 2022 год.
Только для демонстрации, код частичный, к сборке не готов.

  1. Подсистема отчетов
    Настраиваемый и расширяемый движок для выдачи отчетов в XLSX, HTML и PDF из Excel-шаблонов на основе данных из БД (и не только). Для создания нового отчета нужно нарисовать новый шаблон в виде Excel-файла, и реализовать новый класс Fetcher'а для выборки данных. Верстка в PDF была написана с нуля, т.к. имеющиеся библиотеки были либо проприетарны, либо не предоставляли нужного функционала.

    См. также: Презентация к докладу на внутреннем митапе

  2. "Умный поиск" на основе Elacticsearch
    В разных местах веб-интерфейса пользователь имеет возможность ввести строку поиска, тут же в реальном времени ему выдается список результатов, динамически обновляющийся по мере ввода в строку поиска. Поиск ведется в соответствии с бизнес-контекстом формы, откуда ведется поиск. Обновление поисковых индексов ведется в режиме, приближенном к риалтайму. Триггерами БД заполняется таблица с очередью изменений, которая постоянно обрабатывается джобом инкрементальной индексации.

    См. также: Описание API для фронтэндеров

  3. Функционал согласования изменений в объектах системы
    Пользователь что-то изменяет в интерфейсе, при этом регистрируется запрос, который передается в смежную систему. Изменения согласовываются, либо отклоняются оператором (возможно с задержкой), после чего ответ возвращается обратно. Обмен происходит через Кафку. Далее, если решение положительное, изменения применяются к экземплярам сущностей. По каждому атрибуту решение может быть принято независимо от остальных. Запросы могут включать в себя иерархически связанные между собой сущности. Задача решалась максимально обобщенно, с тем чтобы в любой момент можно было расшириться на любые типы сущностей.

    См. также: Описание формата обмена для смежных разработчиков

About

Примеры моего кода, 2022 год

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published