Разработка программного обеспечения
на заказ

Мы выполняем все этапы работ, связанных с разработкой программных систем:

  

Проектирование

Уточ­не­ние тре­бова­ний за­каз­чи­ка, бизнес-анализ, от­ри­сов­ка макетов, раз­ра­бот­ка тех­ни­чес­ко­го задания

  

Прототипирование

Раз­ра­бот­ка рабочего про­тоти­па системы - пробной версии прог­раммы для проверки верности пред­ла­га­емых тех­но­логи­чес­ких и ар­хи­тек­турных решений

  

Разработка

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

  

Тестирование

Проверка кор­рек­тнос­ти работы системы на всех основных ус­трой­ствах и в бра­узе­рах. Наг­ру­зоч­ное тес­ти­рова­ние и тес­ти­рова­ние бе­зопас­ности

  

Внедрение

Раз­ме­щение на сервере, ин­тегра­ция с другими сис­те­мами за­каз­чи­ка, обучение пер­со­нала

  

Документирование

Раз­ра­бот­ка ру­ководс­тва поль­зо­вате­ля, ад­ми­нис­тра­тора, раз­ра­бот­чи­ка

Мы разработали

  • Технологии:
  • Docker
  • Python
  • Selenium

  • Технологии:
  • Typescript
  • CSS
  • Vue.js
  • HTML
  • Ant Design

  • Технологии:
  • C#
  • .Net
  • Docker
  • Angular
  • PostgreSQL

  • Технологии:
  • MySQL
  • JavaScript
  • jQuery
  • PHP
  • Joomla
  • Yandex SpeechKit

Программное обеспечение «Раскрои»

Компания «Тех­но­робот» за­нима­ет­ся ав­то­мати­заци­ей про­из­водс­твен­ных про­цес­сов на базе про­мыш­ленных роботов FANUC и KUKA.

Клиенты компании просили немного до­рабо­тать прог­рамму сос­тавле­ния раскроев для машины резки профиля. Прог­рам­мное обес­пе­чение «Раскрои» поз­во­ля­ет про­ек­ти­ровать детали и фор­ми­ру­ет файл с па­рамет­ра­ми деталей в раскроях, который от­прав­ля­ет­ся на машины линии резки профиля. Их прог­рам­мное обес­пе­чение берет из файла данные для резки.

Что мы сделали

Мы до­рабо­тали ин­терфейс и фун­кци­ональ­ность прог­раммы для удобства поль­зо­вате­лей. Теперь в прог­рамме можно делать мас­шта­биро­вание при ре­дак­ти­рова­нии 2D-отоб­ра­жения детали и от­прав­лять на станок нес­коль­ко раскроев од­новре­мен­но.

А еще

Провели отладку фун­кци­ональ­нос­ти ко­пиро­вания и удаления резов, также добавили до­пол­ни­тель­ные па­рамет­ры резов и до­рабо­тали редактор деталей.

  • Технологии:
  • C#
  • WPF

  • Технологии:
  • Celery
  • Docker
  • Vue.js
  • Python
  • FastAPI
  • Httpx Python
  • Isort
  • Pottery
  • Pydantic
  • Uvicorn
  • Uvloop
  • Drf-yasg
  • Psycopg2
  • Pillow
  • IP2Location
  • PySocks
  • Requests Python
  • Quasar
  • Black Python
  • Redis
  • Pinia

Юридический портал ILEGG.ru

Недавно к нам об­ра­тил­ся под­рядчик itway.ru и передал подряд на до­работ­ку портала юри­дичес­ких услуг - ILEGG.ru с задачей улучшить их сайт и рас­ши­рить су­щес­тву­ющий фун­кци­онал.

Плат­форма ILEGG.ru поз­во­ля­ет получить быстрые юри­дичес­кие кон­суль­та­ции фи­зичес­ким лицам и пред­ста­вите­лям раз­лично­го бизнеса. На сайте пред­став­ле­но более 250 юристов, ра­бота­ющих в разных областях права. Все кон­суль­та­ции пре­дос­тавля­ют­ся онлайн.

Задачи

На сайте ILEGG.ru много юристов и пос­то­ян­ных по­сети­телей. Команде аг­ре­гато­ра пот­ре­бова­лось мо­дер­ни­зиро­вать сайт, чтобы спе­ци­алис­ты смогли с ком­фортом вести ком­мерчес­кую де­ятель­ность, а клиенты – удаленно оп­ла­чивать услуги. С этими зап­ро­сами они об­ра­тились к нам, в Softorium.

Вот задачи, которые стояли перед нами:

  1. Раз­ра­ботать систему мо­нети­зации услуг.
  2. Дора­ботать личный кабинет поль­зо­вате­ля.
  3. Внедрить систему ре­комен­да­ций.
  4. Изменить главную страницу портала.

Что мы сделали

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

Система мо­нети­зации услуг

Мы добавили на сайт воз­можность приема и вывода фи­нан­со­вых активов с ав­то­мати­чес­ким ведением списка операций. В процессе пот­ре­бова­лось немного изменить фун­кци­онал создания заявки и добавить туда платные функции.

Главной задачей для наших спе­ци­алис­тов стало создание бе­зопас­но­го и на­деж­но­го сервиса, спо­соб­но­го быстро об­ра­баты­вать денежные тран­закции.

Форма создания платных заявок была встроена в уже име­ющу­юся струк­ту­ру юри­дичес­ко­го аг­ре­гато­ра с учетом су­щес­тву­ющей ар­хи­тек­ту­ры сайта.

Резуль­та­том работы стала понятная система ввода-вывода денег и создания платных заявок с раз­личны­ми до­пол­ни­тель­ны­ми опциями.

Внед­ре­ние системы ре­комен­да­ций

В аг­ре­гато­ре начала дей­ство­вать ре­комен­да­тель­ная система по подбору спе­ци­алис­тов и юри­дичес­ких компаний. Более под­хо­дящие кан­ди­даты пе­реме­ща­ют­ся в начало списка. Теперь клиенты смогут быстрее найти ква­лифи­циро­ван­но­го юриста для по­луче­ния помощи по выб­ранно­му нап­равле­нию.  

Дора­бот­ка личного кабинета поль­зо­вате­ля

Мы создали 3 уни­каль­ные формы профиля поль­зо­вате­ля – для юристов, для клиентов и для юри­дичес­ких компаний. В ходе работы был про­из­ве­ден тща­тель­ный анализ по­сети­телей аг­ре­гато­ра и выделены главные осо­бен­ности каждой группы.

Профиль клиента

Ре­али­зован в виде стан­дар­тной поль­зо­ватель­ской анкеты. Эта группа по­сети­телей сайта не обладает рас­ши­рен­ны­ми правами и дос­ту­пами, так как единс­твен­ная цель клиента – по­луче­ние ка­чес­твен­ной юри­дичес­кой помощи.

Профиль частного юриста

При ре­гис­тра­ции в качестве юриста поль­зо­ватель должен указать в профиле ин­форма­цию, под­твержда­ющую его ква­лифи­кацию. Помимо фамилии, имени и отчества, а также опыта работы, в анкете со­дер­жатся:

  • сканы име­ющих­ся лицензий и сер­ти­фика­тов;
  • ин­форма­ция об об­ра­зова­нии;
  • перечень пред­ла­га­емых услуг.

Для ве­рифи­кации тре­бу­ет­ся заг­ру­зить скан паспорта. Нами также была ре­али­зова­на воз­можность привязки профиля спе­ци­алис­та к со­ци­аль­ным сетям.

Профиль юри­дичес­кой компании

Запол­не­ние профиля юри­дичес­кой компании осу­щест­вля­ет­ся по аналогии с профилем частного юриста. Мы добавили в анкету блок «Рек­ви­зиты». Инфор­ма­ция туда до­бав­ля­ет­ся ав­то­мати­чес­ки из открытых ис­точни­ков после ввода на­име­нова­ния ор­га­низа­ции.

Изме­нение главной страницы

Раз­мести­ли на главной странице ин­форма­цию о том, как работает аг­ре­гатор и как рас­счи­тыва­ет­ся сто­имость услуг юристов. Сущес­тву­ющие ин­форма­ци­он­ные блоки были от­ре­дак­ти­рова­ны.

Ход проекта

  1. Иссле­дова­ние ин­терфей­са и фун­кци­онала юри­дичес­ко­го аг­ре­гато­ра.
  2. Анализ основных тре­бова­ний поль­зо­вате­лей.
  3. Раз­ра­бот­ка не­об­хо­димых клиенту систем.
  4. Тес­ти­рова­ние и внед­ре­ние об­новлен­но­го фун­кци­онала.

  • Технологии:
  • MySQL
  • JavaScript
  • jQuery
  • CSS
  • Ajax
  • PHP
  • HTML
  • Laravel Framework

Доработка сервиса Wi-Fi аналитики HVALA

HVALA пре­дос­тавля­ет своим поль­зо­вате­лям услуги Wi-Fi, а также сервис ав­то­риза­ции с ана­лити­кой и мар­ке­тин­го­выми инс­тру­мен­та­ми.

Кли­ен­та­ми сервиса являются кафе, рес­то­раны, гос­ти­ницы, пре­дос­тавля­ющие своим гостям доступ к ин­терне­ту.

HVALA поз­во­ля­ет получить отчеты о по­сети­телях и пре­дос­тавля­ет мар­ке­тин­го­вые инс­тру­мен­ты: ин­форми­рова­ние об акциях, опросы, сбор отзывов, и другое. Отчеты о гостях содержат ин­форма­цию о поле, возрасте, MAC-адресе, ко­личес­тве по­сеще­ний, пос­леднем визите, дне рождения гостей и тд. С помощью личного кабинета можно нас­тро­ить тар­ге­тиро­ван­ную рекламу в рек­ламных сетях.

К сети HVALA под­клю­чено более 1000 за­веде­ний на тер­ри­тории России, Казах­ста­на и Узбе­кис­та­на.

Спе­ци­алис­ты Softorium вы­пол­ни­ли ин­тегра­цию с новым дизайном админки, до­рабо­тали способы ав­то­риза­ции, систему отчетов.

 

 

  • Технологии:
  • JavaScript
  • jQuery
  • CSS
  • PHP
  • HTML

  • Технологии:
  • Celery
  • Python
  • PostgreSQL
  • Jinja2
  • Redis
  • Flask
  • SQLAlchemy
  • Alembic

Маркетплейс одежды

Перед нами стояла задача создания мар­кет­плей­са одежды за­рубеж­ных пос­тавщи­ков на базе решения от 1С‑Битрикс. В ходе работ была про­веде­на адап­та­ции ядра Битрикс под тре­бова­ния за­каз­чи­ка: до­рабо­тана корзина, карточка товара, создан ком­по­нент рас­про­дажи. Раз­ра­бота­ны модули для ин­тегра­ций с пла­теж­ной системой CONTACT PAY, сервисом доставки Почты России, RetailCRM, сервисом e‑mail мар­ке­тин­га Mailganer.

Кроме того, был раз­ра­ботан модуль син­хро­низа­ции каталога с сайтом пос­тавщи­ка, для ежед­невной ак­ту­али­зации каталога с 75 000+ позиций. Написан модуль перевода, ин­тегри­рован­ный с модулем импорта: на входе файл на языке пос­тавщи­ка, на выходе ─ каталог товаров на русском языке.

Был проведен аудит хостинга для выбора оп­ти­маль­но­го решения по со­от­но­шению про­из­во­дитель­нос­ти и сто­имос­ти.

  • Технологии:
  • jQuery
  • CSS
  • Bitrix
  • Ajax
  • RetailCRM
  • CONTACT PAY
  • JS
  • PHP
  • HTML

Разработка desktop -приложения для интеграции онлайн ERP-системы с POS-терминалами

ERP-система ProSklad со­от­ветс­тву­ет тре­бова­ни­ям трех­компо­нен­тной ин­тегри­рован­ной системы (далее ТИС). ProSklad работает как веб-при­ложе­ние (SPA на Vue.js). Одним из тре­бова­ний к ТИС является ин­тегра­ция с POS-тер­ми­нала­ми раз­личных банков. Под ин­тегра­ци­ей под­ра­зуме­ва­ет­ся процесс, когда поль­зо­ватель ини­ци­иру­ет оплату в веб-при­ложе­нии, а терминал ав­то­мати­чес­ки под­хва­тыва­ет сумму и готов принять платеж.

Раз­ра­бот­ка desktop-при­ложе­ния зак­лю­чалась в про­ек­ти­рова­нии и раз­ра­бот­ке модуля, свя­зыва­юще­го POS-тер­ми­налы раз­личных банков и ERP-систему. Раз­ра­бот­чи­кам ProSklad больше не нужно знать об осо­бен­ностях работы раз­личных POS-тер­ми­налов, их раз­но­род­ных API и биб­ли­отек. Модуль позволят ис­поль­зо­вать единый ин­терфейс для работы с POS-тер­ми­нала­ми. Под­дер­жка каждого нового банка или тер­ми­нала осу­щест­вля­ет­ся в самом модуле без не­об­хо­димос­ти вносить из­ме­нения в ERP-систему ProSklad. Таким образом, раз­ра­бот­ка desktop-при­ложе­ния поз­во­лила привлечь новых пот­ре­бите­лей и рас­ши­рить список банков-эк­вай­еров, под­клю­чение которых ранее было зат­рудни­тель­но.

  • Технологии:
  • C#
  • .Net
  • С++/CLI
  • RS-232
  • Windows Forms
  • Websocket

  • Технологии:
  • Python
  • PostgreSQL
  • FastAPI
  • ORM ormar
  • Jinja2
  • Сelery
  • Scrapy

Симулятор Генерального Директора

Интег­ра­ции пла­теж­ной системы в игру «Симу­лятор Гене­раль­но­го Дирек­то­ра» SGD Игра пред­став­ля­ет собой глубоко мо­дер­ни­зиро­ван­ный алгоритм - квест делового района Москвы у метро Бело­рус­ская, дающий полное пог­ру­жение в мир пред­при­нима­теля-эк­спор­те­ра. Игроку пред­сто­ит пройти путь от открытия валютных счетов до поставки своей про­дук­ции за­рубеж­ным по­купа­телям. Квест сос­тавлен мак­си­маль­но приб­ли­жен­ным к реалиям жизни. Все пер­со­нажи: та­можен­ный пред­ста­витель, юристы, сот­рудни­ки юри­дичес­ко­го отдела банка, иные «слу­чай­ные» люди - взяты из де­лоп­ро­из­водс­твен­ной жизни.

В ходе сов­мес­тной работы с раз­ра­бот­чи­ками игры была вы­пол­не­на ин­тегра­ция пла­теж­ной системы Робо­кас­са и про­из­ве­дены до­работ­ки ос­новно­го сайта с доступом в игру.

  • Технологии:
  • Python
  • PostgreSQL
  • FastAPI
  • ORM ormar
  • Jinja2
  • Сelery
  • Scrapy

CRM-система Relays для управления QR-кодами

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

Заказчик об­ра­тил­ся с не­завер­шенным проектом. Нами была за­кон­че­на раз­ра­бот­ка CRM-системы, под­клю­чен модуль перевода ин­форма­ции о товаре, до­рабо­тан личный кабинет поль­зо­вате­ля, раз­ра­ботан визард для об­легче­ния освоения прин­ци­пов работы поль­зо­вате­ля в системе, до­рабо­тана ад­ми­нис­тра­тив­ная панель сайта, про­веде­на отладка раз­личных частей системы.

  • Технологии:
  • Nuxt.js
  • MySQL
  • Symfony
  • Docker
  • Node.js
  • PM2
  • Vue.js

Модернизация системы учёта рабочего времени сотрудников

Рост бизнеса сложно пред­ста­вить без развития систем ав­то­мати­зации. FORA – одна из ведущих компаний на рынке Казах­ста­на в сфере продаж цифровой техники. Ее история началась в 1997 с не­боль­шо­го офиса в городе Актобе. Сейчас компания работает в го­сударс­твен­ных закупках, а также в сфере оптовых и роз­ничных продаж, в том числе онлайн.

FORA ис­поль­зу­ет прог­рам­мный комплекс ав­то­мати­зации учёта рабочего времени сот­рудни­ков, вклю­ча­ющий мо­биль­ное и веб- при­ложе­ния. Регис­тра­ция рабочего времени осу­щест­вля­ет­ся путём ска­ниро­вания, сфор­ми­рован­но­го в системе QR-кода: открытие/закрытие дня. Система собирает ин­форма­цию по каждому сот­рудни­ку и пре­дос­тавля­ет ад­ми­нис­тра­тору воз­можность прос­мотра ста­тис­ти­ки и фор­ми­рова­ния отчетов.

Развитие сети ма­гази­нов FORA пот­ре­бова­ло мо­дер­ни­зации системы и до­работ­ки ее фун­кци­она­ла. Мобиль­ное при­ложе­ние, вы­пол­ненное на Qt, было пол­ностью пе­репи­сано на Kotlin Multiplatform для уп­ро­щения его соп­ро­вож­де­ния и об­слу­жива­ния. Это также помогло из­ба­вить­ся от старой ре­али­зации Qt QML и улучшить сов­мести­мость с новыми версиями NDK. Исполь­зо­вание муль­тип­латфор­менно­го решения сок­ра­тило время на на­писа­ние кода для мо­биль­ных при­ложе­ний Android и iOS. Большая часть логики вынесена в общий модуль, за ис­клю­чени­ем макетов экранов и фун­кци­она­ла рас­позна­вания QR-кода.

В ходе до­работ­ки системы была до­бав­ле­на функция по­луче­ния ге­оло­кации сот­рудни­ка при ре­гис­тра­ции. Это поз­во­лило на основе ге­одан­ных при­вязы­вать сот­рудни­ка к ор­га­низа­ции про­филь­но­го под­разде­ления объекта за­каз­чи­ка. Также был до­рабо­тан фун­кци­онал сервера, по­высив­ший бе­зопас­ность пе­реда­ва­емых данных и сок­ра­тив­ший трафик между сервером и клиентом.



  • Технологии:
  • C#
  • Entity Framework
  • Kotlin Multiplatform
  • ASP.NET
  • Qt
  • QML
  • Swift

Разработка умного поиска с учетом морфологии в BigData решениях

Заказчик – пос­тавщик и арен­до­датель обо­рудо­вания для ат­трак­ци­онов. Перед нами была пос­тавле­на задача раз­ра­бот­ки умного поиска по сайту https://www.art-active.ru/. Также тре­бова­лось раз­ра­ботать парсинг с сайта по его фиду - потоку контента, который ав­то­мати­чес­ки под­гру­жа­ет­ся блоками на веб-странице или в при­ложе­нии.

Фид пред­став­ля­ет из себя XML-файл, со­дер­жа­щий всю ин­форма­цию, о товарах, отоб­ра­жа­ющу­юся на сайте: на­име­нова­ние, цена, ка­тего­рия и прочее. Эти данные оп­ре­деля­ют объекты, хранимые в базе данных.

Был ре­али­зован поиск с учетом мор­фо­логии, до­бав­ле­на не­об­хо­димая при­ори­тет­ность поиска, скор­ректи­рова­но раз­би­ение фразы на токены, пе­рера­ботан поиск по ключевым словам. Токены пред­став­ля­ют из себя массив слов из которых состоит запрос. Например, то­кени­затор пробелов, который ис­поль­зу­ет­ся по стан­дарту, разделит текст на токены, когда увидит пробел. Текст «Быстрая ко­рич­не­вая лиса!» Пре­об­ра­зу­ет­ся в [«Быстро», «ко­рич­не­вая», «лиса!»].

В работе ис­поль­зо­вана по­ис­ко­вая система Elasticsearch, которая работает с от­дель­ной базой данных. Elasticsearch пре­дос­тавля­ет сле­ду­ющие воз­можнос­ти:

  • Авто­мати­чес­кую ин­декса­цию новых JSON-объектов, которые заг­ру­жа­ют­ся в базу и сразу ста­новят­ся дос­тупны­ми для поиска, за счет от­сутс­твия схемы согласно типичной NoSQL-кон­цепции. Это поз­во­ля­ет ускорить про­тоти­пиро­вание по­ис­ко­вых Big Data решений;
  • Гибкость по­ис­ко­вых фильтров, включая нечеткий поиск и муль­ти­арен­дность, когда в рамках одного объекта ES можно ди­нами­чес­ки ор­га­низо­вать нес­коль­ко раз­личных по­ис­ко­вых систем;
  • Наличие встро­ен­ных ана­лиза­торов текста поз­во­ля­ет Elasticsearch ав­то­мати­чес­ки вы­пол­нять то­кени­зацию, лем­ма­тиза­цию - процесс при­веде­ния сло­вофор­мы к её нор­маль­ной (сло­вар­ной) форме, стемминг - это процесс на­хож­де­ния основы слова для за­дан­но­го ис­ходно­го слова и прочие пре­об­ра­зова­ния для решения NLP-задач, свя­зан­ных с поиском данных.

Поиск про­ис­хо­дит по сле­ду­юще­му ал­го­рит­му:

  1. Соз­да­ет­ся и нас­тра­ива­ет­ся запрос, со­дер­жа­щий сле­ду­ющие па­рамет­ры:
    a. type – тип запроса;
    b. fields – поля по которым про­ис­хо­дит поиск и их при­ори­тет­ность;
    c. query – сам запрос;
    d. minimum_should_match – ко­личес­тво знаков на сколько ре­зуль­тат может от­ли­чать­ся от запроса.
  2. Запрос подается на вход ана­лиза­тору.
  3. Ана­лиза­тор раз­би­ва­ет запрос на токены, ис­поль­зуя фильтры.
  4. Про­из­во­дит­ся поиск по заданным полям и сор­ти­ру­ет­ся в за­виси­мос­ти от заданных настроек запроса.
  5. Воз­вра­ща­ет­ся список ре­зуль­татов.

Поиск, по ключевым словам, ре­али­зован с помощью ана­лиза­тора «keyword», который под­ра­зуме­ва­ет полное вхож­де­ние запроса в ре­зуль­тат, учи­тыва­ющий регистр букв, пробелы и спе­ци­аль­ные знаки.

Учет мор­фо­логии под­ра­зуме­ва­ет раз­би­ение запроса по таким частям как предлоги, частицы и др. С помощью мор­фо­логии запрос раз­би­ва­ется на токены, пред­став­ля­ющие из себя основу слова, например, «отвертка» после работы ана­лиза­тора будет пред­став­лять из себя «отвертк».

В ходе работы на проекте был раз­ра­ботан и настроен парсинг, который сначала об­ра­ща­ет­ся к сайту за­каз­чи­ка и получает фид в виде XML. Далее данные до­бав­ля­ют­ся или об­новля­ют­ся в базе данных сервера за­каз­чи­ка для ак­ту­аль­но­го со­дер­жа­ния в ре­зуль­татах поиска. Парсинг работает по ука­зан­но­му времени раз в день или при не­об­хо­димос­ти за­пус­ка­ет­ся вручную за­каз­чи­ком.

Заказ­чи­ку были пре­дос­тавле­ны кон­суль­та­ции по тон­костям работы и нас­трой­ке поиска.

  • Технологии:
  • JavaScript
  • Elasticsearch
  • Python
  • Django

  • Технологии:
  • Docker
  • Python
  • Selenium

  • Технологии:
  • Typescript
  • CSS
  • Vue.js
  • HTML
  • Ant Design

  • Технологии:
  • C#
  • .Net
  • Docker
  • Angular
  • PostgreSQL

  • Технологии:
  • MySQL
  • JavaScript
  • jQuery
  • PHP
  • Joomla
  • Yandex SpeechKit

Программное обеспечение «Раскрои»

Компания «Тех­но­робот» за­нима­ет­ся ав­то­мати­заци­ей про­из­водс­твен­ных про­цес­сов на базе про­мыш­ленных роботов FANUC и KUKA.

Клиенты компании просили немного до­рабо­тать прог­рамму сос­тавле­ния раскроев для машины резки профиля. Прог­рам­мное обес­пе­чение «Раскрои» поз­во­ля­ет про­ек­ти­ровать детали и фор­ми­ру­ет файл с па­рамет­ра­ми деталей в раскроях, который от­прав­ля­ет­ся на машины линии резки профиля. Их прог­рам­мное обес­пе­чение берет из файла данные для резки.

Что мы сделали

Мы до­рабо­тали ин­терфейс и фун­кци­ональ­ность прог­раммы для удобства поль­зо­вате­лей. Теперь в прог­рамме можно делать мас­шта­биро­вание при ре­дак­ти­рова­нии 2D-отоб­ра­жения детали и от­прав­лять на станок нес­коль­ко раскроев од­новре­мен­но.

А еще

Провели отладку фун­кци­ональ­нос­ти ко­пиро­вания и удаления резов, также добавили до­пол­ни­тель­ные па­рамет­ры резов и до­рабо­тали редактор деталей.

  • Технологии:
  • C#
  • WPF

  • Технологии:
  • Celery
  • Docker
  • Vue.js
  • Python
  • FastAPI
  • Httpx Python
  • Isort
  • Pottery
  • Pydantic
  • Uvicorn
  • Uvloop
  • Drf-yasg
  • Psycopg2
  • Pillow
  • IP2Location
  • PySocks
  • Requests Python
  • Quasar
  • Black Python
  • Redis
  • Pinia

Юридический портал ILEGG.ru

Недавно к нам об­ра­тил­ся под­рядчик itway.ru и передал подряд на до­работ­ку портала юри­дичес­ких услуг - ILEGG.ru с задачей улучшить их сайт и рас­ши­рить су­щес­тву­ющий фун­кци­онал.

Плат­форма ILEGG.ru поз­во­ля­ет получить быстрые юри­дичес­кие кон­суль­та­ции фи­зичес­ким лицам и пред­ста­вите­лям раз­лично­го бизнеса. На сайте пред­став­ле­но более 250 юристов, ра­бота­ющих в разных областях права. Все кон­суль­та­ции пре­дос­тавля­ют­ся онлайн.

Задачи

На сайте ILEGG.ru много юристов и пос­то­ян­ных по­сети­телей. Команде аг­ре­гато­ра пот­ре­бова­лось мо­дер­ни­зиро­вать сайт, чтобы спе­ци­алис­ты смогли с ком­фортом вести ком­мерчес­кую де­ятель­ность, а клиенты – удаленно оп­ла­чивать услуги. С этими зап­ро­сами они об­ра­тились к нам, в Softorium.

Вот задачи, которые стояли перед нами:

  1. Раз­ра­ботать систему мо­нети­зации услуг.
  2. Дора­ботать личный кабинет поль­зо­вате­ля.
  3. Внедрить систему ре­комен­да­ций.
  4. Изменить главную страницу портала.

Что мы сделали

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

Система мо­нети­зации услуг

Мы добавили на сайт воз­можность приема и вывода фи­нан­со­вых активов с ав­то­мати­чес­ким ведением списка операций. В процессе пот­ре­бова­лось немного изменить фун­кци­онал создания заявки и добавить туда платные функции.

Главной задачей для наших спе­ци­алис­тов стало создание бе­зопас­но­го и на­деж­но­го сервиса, спо­соб­но­го быстро об­ра­баты­вать денежные тран­закции.

Форма создания платных заявок была встроена в уже име­ющу­юся струк­ту­ру юри­дичес­ко­го аг­ре­гато­ра с учетом су­щес­тву­ющей ар­хи­тек­ту­ры сайта.

Резуль­та­том работы стала понятная система ввода-вывода денег и создания платных заявок с раз­личны­ми до­пол­ни­тель­ны­ми опциями.

Внед­ре­ние системы ре­комен­да­ций

В аг­ре­гато­ре начала дей­ство­вать ре­комен­да­тель­ная система по подбору спе­ци­алис­тов и юри­дичес­ких компаний. Более под­хо­дящие кан­ди­даты пе­реме­ща­ют­ся в начало списка. Теперь клиенты смогут быстрее найти ква­лифи­циро­ван­но­го юриста для по­луче­ния помощи по выб­ранно­му нап­равле­нию.  

Дора­бот­ка личного кабинета поль­зо­вате­ля

Мы создали 3 уни­каль­ные формы профиля поль­зо­вате­ля – для юристов, для клиентов и для юри­дичес­ких компаний. В ходе работы был про­из­ве­ден тща­тель­ный анализ по­сети­телей аг­ре­гато­ра и выделены главные осо­бен­ности каждой группы.

Профиль клиента

Ре­али­зован в виде стан­дар­тной поль­зо­ватель­ской анкеты. Эта группа по­сети­телей сайта не обладает рас­ши­рен­ны­ми правами и дос­ту­пами, так как единс­твен­ная цель клиента – по­луче­ние ка­чес­твен­ной юри­дичес­кой помощи.

Профиль частного юриста

При ре­гис­тра­ции в качестве юриста поль­зо­ватель должен указать в профиле ин­форма­цию, под­твержда­ющую его ква­лифи­кацию. Помимо фамилии, имени и отчества, а также опыта работы, в анкете со­дер­жатся:

  • сканы име­ющих­ся лицензий и сер­ти­фика­тов;
  • ин­форма­ция об об­ра­зова­нии;
  • перечень пред­ла­га­емых услуг.

Для ве­рифи­кации тре­бу­ет­ся заг­ру­зить скан паспорта. Нами также была ре­али­зова­на воз­можность привязки профиля спе­ци­алис­та к со­ци­аль­ным сетям.

Профиль юри­дичес­кой компании

Запол­не­ние профиля юри­дичес­кой компании осу­щест­вля­ет­ся по аналогии с профилем частного юриста. Мы добавили в анкету блок «Рек­ви­зиты». Инфор­ма­ция туда до­бав­ля­ет­ся ав­то­мати­чес­ки из открытых ис­точни­ков после ввода на­име­нова­ния ор­га­низа­ции.

Изме­нение главной страницы

Раз­мести­ли на главной странице ин­форма­цию о том, как работает аг­ре­гатор и как рас­счи­тыва­ет­ся сто­имость услуг юристов. Сущес­тву­ющие ин­форма­ци­он­ные блоки были от­ре­дак­ти­рова­ны.

Ход проекта

  1. Иссле­дова­ние ин­терфей­са и фун­кци­онала юри­дичес­ко­го аг­ре­гато­ра.
  2. Анализ основных тре­бова­ний поль­зо­вате­лей.
  3. Раз­ра­бот­ка не­об­хо­димых клиенту систем.
  4. Тес­ти­рова­ние и внед­ре­ние об­новлен­но­го фун­кци­онала.

  • Технологии:
  • MySQL
  • JavaScript
  • jQuery
  • CSS
  • Ajax
  • PHP
  • HTML
  • Laravel Framework

Доработка сервиса Wi-Fi аналитики HVALA

HVALA пре­дос­тавля­ет своим поль­зо­вате­лям услуги Wi-Fi, а также сервис ав­то­риза­ции с ана­лити­кой и мар­ке­тин­го­выми инс­тру­мен­та­ми.

Кли­ен­та­ми сервиса являются кафе, рес­то­раны, гос­ти­ницы, пре­дос­тавля­ющие своим гостям доступ к ин­терне­ту.

HVALA поз­во­ля­ет получить отчеты о по­сети­телях и пре­дос­тавля­ет мар­ке­тин­го­вые инс­тру­мен­ты: ин­форми­рова­ние об акциях, опросы, сбор отзывов, и другое. Отчеты о гостях содержат ин­форма­цию о поле, возрасте, MAC-адресе, ко­личес­тве по­сеще­ний, пос­леднем визите, дне рождения гостей и тд. С помощью личного кабинета можно нас­тро­ить тар­ге­тиро­ван­ную рекламу в рек­ламных сетях.

К сети HVALA под­клю­чено более 1000 за­веде­ний на тер­ри­тории России, Казах­ста­на и Узбе­кис­та­на.

Спе­ци­алис­ты Softorium вы­пол­ни­ли ин­тегра­цию с новым дизайном админки, до­рабо­тали способы ав­то­риза­ции, систему отчетов.

 

 

  • Технологии:
  • JavaScript
  • jQuery
  • CSS
  • PHP
  • HTML

  • Технологии:
  • Celery
  • Python
  • PostgreSQL
  • Jinja2
  • Redis
  • Flask
  • SQLAlchemy
  • Alembic

Маркетплейс одежды

Перед нами стояла задача создания мар­кет­плей­са одежды за­рубеж­ных пос­тавщи­ков на базе решения от 1С‑Битрикс. В ходе работ была про­веде­на адап­та­ции ядра Битрикс под тре­бова­ния за­каз­чи­ка: до­рабо­тана корзина, карточка товара, создан ком­по­нент рас­про­дажи. Раз­ра­бота­ны модули для ин­тегра­ций с пла­теж­ной системой CONTACT PAY, сервисом доставки Почты России, RetailCRM, сервисом e‑mail мар­ке­тин­га Mailganer.

Кроме того, был раз­ра­ботан модуль син­хро­низа­ции каталога с сайтом пос­тавщи­ка, для ежед­невной ак­ту­али­зации каталога с 75 000+ позиций. Написан модуль перевода, ин­тегри­рован­ный с модулем импорта: на входе файл на языке пос­тавщи­ка, на выходе ─ каталог товаров на русском языке.

Был проведен аудит хостинга для выбора оп­ти­маль­но­го решения по со­от­но­шению про­из­во­дитель­нос­ти и сто­имос­ти.

  • Технологии:
  • jQuery
  • CSS
  • Bitrix
  • Ajax
  • RetailCRM
  • CONTACT PAY
  • JS
  • PHP
  • HTML

Разработка desktop -приложения для интеграции онлайн ERP-системы с POS-терминалами

ERP-система ProSklad со­от­ветс­тву­ет тре­бова­ни­ям трех­компо­нен­тной ин­тегри­рован­ной системы (далее ТИС). ProSklad работает как веб-при­ложе­ние (SPA на Vue.js). Одним из тре­бова­ний к ТИС является ин­тегра­ция с POS-тер­ми­нала­ми раз­личных банков. Под ин­тегра­ци­ей под­ра­зуме­ва­ет­ся процесс, когда поль­зо­ватель ини­ци­иру­ет оплату в веб-при­ложе­нии, а терминал ав­то­мати­чес­ки под­хва­тыва­ет сумму и готов принять платеж.

Раз­ра­бот­ка desktop-при­ложе­ния зак­лю­чалась в про­ек­ти­рова­нии и раз­ра­бот­ке модуля, свя­зыва­юще­го POS-тер­ми­налы раз­личных банков и ERP-систему. Раз­ра­бот­чи­кам ProSklad больше не нужно знать об осо­бен­ностях работы раз­личных POS-тер­ми­налов, их раз­но­род­ных API и биб­ли­отек. Модуль позволят ис­поль­зо­вать единый ин­терфейс для работы с POS-тер­ми­нала­ми. Под­дер­жка каждого нового банка или тер­ми­нала осу­щест­вля­ет­ся в самом модуле без не­об­хо­димос­ти вносить из­ме­нения в ERP-систему ProSklad. Таким образом, раз­ра­бот­ка desktop-при­ложе­ния поз­во­лила привлечь новых пот­ре­бите­лей и рас­ши­рить список банков-эк­вай­еров, под­клю­чение которых ранее было зат­рудни­тель­но.

  • Технологии:
  • C#
  • .Net
  • С++/CLI
  • RS-232
  • Windows Forms
  • Websocket

  • Технологии:
  • Python
  • PostgreSQL
  • FastAPI
  • ORM ormar
  • Jinja2
  • Сelery
  • Scrapy

Симулятор Генерального Директора

Интег­ра­ции пла­теж­ной системы в игру «Симу­лятор Гене­раль­но­го Дирек­то­ра» SGD Игра пред­став­ля­ет собой глубоко мо­дер­ни­зиро­ван­ный алгоритм - квест делового района Москвы у метро Бело­рус­ская, дающий полное пог­ру­жение в мир пред­при­нима­теля-эк­спор­те­ра. Игроку пред­сто­ит пройти путь от открытия валютных счетов до поставки своей про­дук­ции за­рубеж­ным по­купа­телям. Квест сос­тавлен мак­си­маль­но приб­ли­жен­ным к реалиям жизни. Все пер­со­нажи: та­можен­ный пред­ста­витель, юристы, сот­рудни­ки юри­дичес­ко­го отдела банка, иные «слу­чай­ные» люди - взяты из де­лоп­ро­из­водс­твен­ной жизни.

В ходе сов­мес­тной работы с раз­ра­бот­чи­ками игры была вы­пол­не­на ин­тегра­ция пла­теж­ной системы Робо­кас­са и про­из­ве­дены до­работ­ки ос­новно­го сайта с доступом в игру.

  • Технологии:
  • Python
  • PostgreSQL
  • FastAPI
  • ORM ormar
  • Jinja2
  • Сelery
  • Scrapy

CRM-система Relays для управления QR-кодами

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

Заказчик об­ра­тил­ся с не­завер­шенным проектом. Нами была за­кон­че­на раз­ра­бот­ка CRM-системы, под­клю­чен модуль перевода ин­форма­ции о товаре, до­рабо­тан личный кабинет поль­зо­вате­ля, раз­ра­ботан визард для об­легче­ния освоения прин­ци­пов работы поль­зо­вате­ля в системе, до­рабо­тана ад­ми­нис­тра­тив­ная панель сайта, про­веде­на отладка раз­личных частей системы.

  • Технологии:
  • Nuxt.js
  • MySQL
  • Symfony
  • Docker
  • Node.js
  • PM2
  • Vue.js

Модернизация системы учёта рабочего времени сотрудников

Рост бизнеса сложно пред­ста­вить без развития систем ав­то­мати­зации. FORA – одна из ведущих компаний на рынке Казах­ста­на в сфере продаж цифровой техники. Ее история началась в 1997 с не­боль­шо­го офиса в городе Актобе. Сейчас компания работает в го­сударс­твен­ных закупках, а также в сфере оптовых и роз­ничных продаж, в том числе онлайн.

FORA ис­поль­зу­ет прог­рам­мный комплекс ав­то­мати­зации учёта рабочего времени сот­рудни­ков, вклю­ча­ющий мо­биль­ное и веб- при­ложе­ния. Регис­тра­ция рабочего времени осу­щест­вля­ет­ся путём ска­ниро­вания, сфор­ми­рован­но­го в системе QR-кода: открытие/закрытие дня. Система собирает ин­форма­цию по каждому сот­рудни­ку и пре­дос­тавля­ет ад­ми­нис­тра­тору воз­можность прос­мотра ста­тис­ти­ки и фор­ми­рова­ния отчетов.

Развитие сети ма­гази­нов FORA пот­ре­бова­ло мо­дер­ни­зации системы и до­работ­ки ее фун­кци­она­ла. Мобиль­ное при­ложе­ние, вы­пол­ненное на Qt, было пол­ностью пе­репи­сано на Kotlin Multiplatform для уп­ро­щения его соп­ро­вож­де­ния и об­слу­жива­ния. Это также помогло из­ба­вить­ся от старой ре­али­зации Qt QML и улучшить сов­мести­мость с новыми версиями NDK. Исполь­зо­вание муль­тип­латфор­менно­го решения сок­ра­тило время на на­писа­ние кода для мо­биль­ных при­ложе­ний Android и iOS. Большая часть логики вынесена в общий модуль, за ис­клю­чени­ем макетов экранов и фун­кци­она­ла рас­позна­вания QR-кода.

В ходе до­работ­ки системы была до­бав­ле­на функция по­луче­ния ге­оло­кации сот­рудни­ка при ре­гис­тра­ции. Это поз­во­лило на основе ге­одан­ных при­вязы­вать сот­рудни­ка к ор­га­низа­ции про­филь­но­го под­разде­ления объекта за­каз­чи­ка. Также был до­рабо­тан фун­кци­онал сервера, по­высив­ший бе­зопас­ность пе­реда­ва­емых данных и сок­ра­тив­ший трафик между сервером и клиентом.



  • Технологии:
  • C#
  • Entity Framework
  • Kotlin Multiplatform
  • ASP.NET
  • Qt
  • QML
  • Swift

Разработка умного поиска с учетом морфологии в BigData решениях

Заказчик – пос­тавщик и арен­до­датель обо­рудо­вания для ат­трак­ци­онов. Перед нами была пос­тавле­на задача раз­ра­бот­ки умного поиска по сайту https://www.art-active.ru/. Также тре­бова­лось раз­ра­ботать парсинг с сайта по его фиду - потоку контента, который ав­то­мати­чес­ки под­гру­жа­ет­ся блоками на веб-странице или в при­ложе­нии.

Фид пред­став­ля­ет из себя XML-файл, со­дер­жа­щий всю ин­форма­цию, о товарах, отоб­ра­жа­ющу­юся на сайте: на­име­нова­ние, цена, ка­тего­рия и прочее. Эти данные оп­ре­деля­ют объекты, хранимые в базе данных.

Был ре­али­зован поиск с учетом мор­фо­логии, до­бав­ле­на не­об­хо­димая при­ори­тет­ность поиска, скор­ректи­рова­но раз­би­ение фразы на токены, пе­рера­ботан поиск по ключевым словам. Токены пред­став­ля­ют из себя массив слов из которых состоит запрос. Например, то­кени­затор пробелов, который ис­поль­зу­ет­ся по стан­дарту, разделит текст на токены, когда увидит пробел. Текст «Быстрая ко­рич­не­вая лиса!» Пре­об­ра­зу­ет­ся в [«Быстро», «ко­рич­не­вая», «лиса!»].

В работе ис­поль­зо­вана по­ис­ко­вая система Elasticsearch, которая работает с от­дель­ной базой данных. Elasticsearch пре­дос­тавля­ет сле­ду­ющие воз­можнос­ти:

  • Авто­мати­чес­кую ин­декса­цию новых JSON-объектов, которые заг­ру­жа­ют­ся в базу и сразу ста­новят­ся дос­тупны­ми для поиска, за счет от­сутс­твия схемы согласно типичной NoSQL-кон­цепции. Это поз­во­ля­ет ускорить про­тоти­пиро­вание по­ис­ко­вых Big Data решений;
  • Гибкость по­ис­ко­вых фильтров, включая нечеткий поиск и муль­ти­арен­дность, когда в рамках одного объекта ES можно ди­нами­чес­ки ор­га­низо­вать нес­коль­ко раз­личных по­ис­ко­вых систем;
  • Наличие встро­ен­ных ана­лиза­торов текста поз­во­ля­ет Elasticsearch ав­то­мати­чес­ки вы­пол­нять то­кени­зацию, лем­ма­тиза­цию - процесс при­веде­ния сло­вофор­мы к её нор­маль­ной (сло­вар­ной) форме, стемминг - это процесс на­хож­де­ния основы слова для за­дан­но­го ис­ходно­го слова и прочие пре­об­ра­зова­ния для решения NLP-задач, свя­зан­ных с поиском данных.

Поиск про­ис­хо­дит по сле­ду­юще­му ал­го­рит­му:

  1. Соз­да­ет­ся и нас­тра­ива­ет­ся запрос, со­дер­жа­щий сле­ду­ющие па­рамет­ры:
    a. type – тип запроса;
    b. fields – поля по которым про­ис­хо­дит поиск и их при­ори­тет­ность;
    c. query – сам запрос;
    d. minimum_should_match – ко­личес­тво знаков на сколько ре­зуль­тат может от­ли­чать­ся от запроса.
  2. Запрос подается на вход ана­лиза­тору.
  3. Ана­лиза­тор раз­би­ва­ет запрос на токены, ис­поль­зуя фильтры.
  4. Про­из­во­дит­ся поиск по заданным полям и сор­ти­ру­ет­ся в за­виси­мос­ти от заданных настроек запроса.
  5. Воз­вра­ща­ет­ся список ре­зуль­татов.

Поиск, по ключевым словам, ре­али­зован с помощью ана­лиза­тора «keyword», который под­ра­зуме­ва­ет полное вхож­де­ние запроса в ре­зуль­тат, учи­тыва­ющий регистр букв, пробелы и спе­ци­аль­ные знаки.

Учет мор­фо­логии под­ра­зуме­ва­ет раз­би­ение запроса по таким частям как предлоги, частицы и др. С помощью мор­фо­логии запрос раз­би­ва­ется на токены, пред­став­ля­ющие из себя основу слова, например, «отвертка» после работы ана­лиза­тора будет пред­став­лять из себя «отвертк».

В ходе работы на проекте был раз­ра­ботан и настроен парсинг, который сначала об­ра­ща­ет­ся к сайту за­каз­чи­ка и получает фид в виде XML. Далее данные до­бав­ля­ют­ся или об­новля­ют­ся в базе данных сервера за­каз­чи­ка для ак­ту­аль­но­го со­дер­жа­ния в ре­зуль­татах поиска. Парсинг работает по ука­зан­но­му времени раз в день или при не­об­хо­димос­ти за­пус­ка­ет­ся вручную за­каз­чи­ком.

Заказ­чи­ку были пре­дос­тавле­ны кон­суль­та­ции по тон­костям работы и нас­трой­ке поиска.

  • Технологии:
  • JavaScript
  • Elasticsearch
  • Python
  • Django

  • Технологии:
  • Docker
  • Python
  • Selenium

  • Технологии:
  • Typescript
  • CSS
  • Vue.js
  • HTML
  • Ant Design

  • Технологии:
  • C#
  • .Net
  • Docker
  • Angular
  • PostgreSQL

  • Технологии:
  • MySQL
  • JavaScript
  • jQuery
  • PHP
  • Joomla
  • Yandex SpeechKit

Программное обеспечение «Раскрои»

Компания «Тех­но­робот» за­нима­ет­ся ав­то­мати­заци­ей про­из­водс­твен­ных про­цес­сов на базе про­мыш­ленных роботов FANUC и KUKA.

Клиенты компании просили немного до­рабо­тать прог­рамму сос­тавле­ния раскроев для машины резки профиля. Прог­рам­мное обес­пе­чение «Раскрои» поз­во­ля­ет про­ек­ти­ровать детали и фор­ми­ру­ет файл с па­рамет­ра­ми деталей в раскроях, который от­прав­ля­ет­ся на машины линии резки профиля. Их прог­рам­мное обес­пе­чение берет из файла данные для резки.

Что мы сделали

Мы до­рабо­тали ин­терфейс и фун­кци­ональ­ность прог­раммы для удобства поль­зо­вате­лей. Теперь в прог­рамме можно делать мас­шта­биро­вание при ре­дак­ти­рова­нии 2D-отоб­ра­жения детали и от­прав­лять на станок нес­коль­ко раскроев од­новре­мен­но.

А еще

Провели отладку фун­кци­ональ­нос­ти ко­пиро­вания и удаления резов, также добавили до­пол­ни­тель­ные па­рамет­ры резов и до­рабо­тали редактор деталей.

  • Технологии:
  • C#
  • WPF

  • Технологии:
  • Celery
  • Docker
  • Vue.js
  • Python
  • FastAPI
  • Httpx Python
  • Isort
  • Pottery
  • Pydantic
  • Uvicorn
  • Uvloop
  • Drf-yasg
  • Psycopg2
  • Pillow
  • IP2Location
  • PySocks
  • Requests Python
  • Quasar
  • Black Python
  • Redis
  • Pinia

Юридический портал ILEGG.ru

Недавно к нам об­ра­тил­ся под­рядчик itway.ru и передал подряд на до­работ­ку портала юри­дичес­ких услуг - ILEGG.ru с задачей улучшить их сайт и рас­ши­рить су­щес­тву­ющий фун­кци­онал.

Плат­форма ILEGG.ru поз­во­ля­ет получить быстрые юри­дичес­кие кон­суль­та­ции фи­зичес­ким лицам и пред­ста­вите­лям раз­лично­го бизнеса. На сайте пред­став­ле­но более 250 юристов, ра­бота­ющих в разных областях права. Все кон­суль­та­ции пре­дос­тавля­ют­ся онлайн.

Задачи

На сайте ILEGG.ru много юристов и пос­то­ян­ных по­сети­телей. Команде аг­ре­гато­ра пот­ре­бова­лось мо­дер­ни­зиро­вать сайт, чтобы спе­ци­алис­ты смогли с ком­фортом вести ком­мерчес­кую де­ятель­ность, а клиенты – удаленно оп­ла­чивать услуги. С этими зап­ро­сами они об­ра­тились к нам, в Softorium.

Вот задачи, которые стояли перед нами:

  1. Раз­ра­ботать систему мо­нети­зации услуг.
  2. Дора­ботать личный кабинет поль­зо­вате­ля.
  3. Внедрить систему ре­комен­да­ций.
  4. Изменить главную страницу портала.

Что мы сделали

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

Система мо­нети­зации услуг

Мы добавили на сайт воз­можность приема и вывода фи­нан­со­вых активов с ав­то­мати­чес­ким ведением списка операций. В процессе пот­ре­бова­лось немного изменить фун­кци­онал создания заявки и добавить туда платные функции.

Главной задачей для наших спе­ци­алис­тов стало создание бе­зопас­но­го и на­деж­но­го сервиса, спо­соб­но­го быстро об­ра­баты­вать денежные тран­закции.

Форма создания платных заявок была встроена в уже име­ющу­юся струк­ту­ру юри­дичес­ко­го аг­ре­гато­ра с учетом су­щес­тву­ющей ар­хи­тек­ту­ры сайта.

Резуль­та­том работы стала понятная система ввода-вывода денег и создания платных заявок с раз­личны­ми до­пол­ни­тель­ны­ми опциями.

Внед­ре­ние системы ре­комен­да­ций

В аг­ре­гато­ре начала дей­ство­вать ре­комен­да­тель­ная система по подбору спе­ци­алис­тов и юри­дичес­ких компаний. Более под­хо­дящие кан­ди­даты пе­реме­ща­ют­ся в начало списка. Теперь клиенты смогут быстрее найти ква­лифи­циро­ван­но­го юриста для по­луче­ния помощи по выб­ранно­му нап­равле­нию.  

Дора­бот­ка личного кабинета поль­зо­вате­ля

Мы создали 3 уни­каль­ные формы профиля поль­зо­вате­ля – для юристов, для клиентов и для юри­дичес­ких компаний. В ходе работы был про­из­ве­ден тща­тель­ный анализ по­сети­телей аг­ре­гато­ра и выделены главные осо­бен­ности каждой группы.

Профиль клиента

Ре­али­зован в виде стан­дар­тной поль­зо­ватель­ской анкеты. Эта группа по­сети­телей сайта не обладает рас­ши­рен­ны­ми правами и дос­ту­пами, так как единс­твен­ная цель клиента – по­луче­ние ка­чес­твен­ной юри­дичес­кой помощи.

Профиль частного юриста

При ре­гис­тра­ции в качестве юриста поль­зо­ватель должен указать в профиле ин­форма­цию, под­твержда­ющую его ква­лифи­кацию. Помимо фамилии, имени и отчества, а также опыта работы, в анкете со­дер­жатся:

  • сканы име­ющих­ся лицензий и сер­ти­фика­тов;
  • ин­форма­ция об об­ра­зова­нии;
  • перечень пред­ла­га­емых услуг.

Для ве­рифи­кации тре­бу­ет­ся заг­ру­зить скан паспорта. Нами также была ре­али­зова­на воз­можность привязки профиля спе­ци­алис­та к со­ци­аль­ным сетям.

Профиль юри­дичес­кой компании

Запол­не­ние профиля юри­дичес­кой компании осу­щест­вля­ет­ся по аналогии с профилем частного юриста. Мы добавили в анкету блок «Рек­ви­зиты». Инфор­ма­ция туда до­бав­ля­ет­ся ав­то­мати­чес­ки из открытых ис­точни­ков после ввода на­име­нова­ния ор­га­низа­ции.

Изме­нение главной страницы

Раз­мести­ли на главной странице ин­форма­цию о том, как работает аг­ре­гатор и как рас­счи­тыва­ет­ся сто­имость услуг юристов. Сущес­тву­ющие ин­форма­ци­он­ные блоки были от­ре­дак­ти­рова­ны.

Ход проекта

  1. Иссле­дова­ние ин­терфей­са и фун­кци­онала юри­дичес­ко­го аг­ре­гато­ра.
  2. Анализ основных тре­бова­ний поль­зо­вате­лей.
  3. Раз­ра­бот­ка не­об­хо­димых клиенту систем.
  4. Тес­ти­рова­ние и внед­ре­ние об­новлен­но­го фун­кци­онала.

  • Технологии:
  • MySQL
  • JavaScript
  • jQuery
  • CSS
  • Ajax
  • PHP
  • HTML
  • Laravel Framework

Доработка сервиса Wi-Fi аналитики HVALA

HVALA пре­дос­тавля­ет своим поль­зо­вате­лям услуги Wi-Fi, а также сервис ав­то­риза­ции с ана­лити­кой и мар­ке­тин­го­выми инс­тру­мен­та­ми.

Кли­ен­та­ми сервиса являются кафе, рес­то­раны, гос­ти­ницы, пре­дос­тавля­ющие своим гостям доступ к ин­терне­ту.

HVALA поз­во­ля­ет получить отчеты о по­сети­телях и пре­дос­тавля­ет мар­ке­тин­го­вые инс­тру­мен­ты: ин­форми­рова­ние об акциях, опросы, сбор отзывов, и другое. Отчеты о гостях содержат ин­форма­цию о поле, возрасте, MAC-адресе, ко­личес­тве по­сеще­ний, пос­леднем визите, дне рождения гостей и тд. С помощью личного кабинета можно нас­тро­ить тар­ге­тиро­ван­ную рекламу в рек­ламных сетях.

К сети HVALA под­клю­чено более 1000 за­веде­ний на тер­ри­тории России, Казах­ста­на и Узбе­кис­та­на.

Спе­ци­алис­ты Softorium вы­пол­ни­ли ин­тегра­цию с новым дизайном админки, до­рабо­тали способы ав­то­риза­ции, систему отчетов.

 

 

  • Технологии:
  • JavaScript
  • jQuery
  • CSS
  • PHP
  • HTML

  • Технологии:
  • Celery
  • Python
  • PostgreSQL
  • Jinja2
  • Redis
  • Flask
  • SQLAlchemy
  • Alembic

Маркетплейс одежды

Перед нами стояла задача создания мар­кет­плей­са одежды за­рубеж­ных пос­тавщи­ков на базе решения от 1С‑Битрикс. В ходе работ была про­веде­на адап­та­ции ядра Битрикс под тре­бова­ния за­каз­чи­ка: до­рабо­тана корзина, карточка товара, создан ком­по­нент рас­про­дажи. Раз­ра­бота­ны модули для ин­тегра­ций с пла­теж­ной системой CONTACT PAY, сервисом доставки Почты России, RetailCRM, сервисом e‑mail мар­ке­тин­га Mailganer.

Кроме того, был раз­ра­ботан модуль син­хро­низа­ции каталога с сайтом пос­тавщи­ка, для ежед­невной ак­ту­али­зации каталога с 75 000+ позиций. Написан модуль перевода, ин­тегри­рован­ный с модулем импорта: на входе файл на языке пос­тавщи­ка, на выходе ─ каталог товаров на русском языке.

Был проведен аудит хостинга для выбора оп­ти­маль­но­го решения по со­от­но­шению про­из­во­дитель­нос­ти и сто­имос­ти.

  • Технологии:
  • jQuery
  • CSS
  • Bitrix
  • Ajax
  • RetailCRM
  • CONTACT PAY
  • JS
  • PHP
  • HTML

Разработка desktop -приложения для интеграции онлайн ERP-системы с POS-терминалами

ERP-система ProSklad со­от­ветс­тву­ет тре­бова­ни­ям трех­компо­нен­тной ин­тегри­рован­ной системы (далее ТИС). ProSklad работает как веб-при­ложе­ние (SPA на Vue.js). Одним из тре­бова­ний к ТИС является ин­тегра­ция с POS-тер­ми­нала­ми раз­личных банков. Под ин­тегра­ци­ей под­ра­зуме­ва­ет­ся процесс, когда поль­зо­ватель ини­ци­иру­ет оплату в веб-при­ложе­нии, а терминал ав­то­мати­чес­ки под­хва­тыва­ет сумму и готов принять платеж.

Раз­ра­бот­ка desktop-при­ложе­ния зак­лю­чалась в про­ек­ти­рова­нии и раз­ра­бот­ке модуля, свя­зыва­юще­го POS-тер­ми­налы раз­личных банков и ERP-систему. Раз­ра­бот­чи­кам ProSklad больше не нужно знать об осо­бен­ностях работы раз­личных POS-тер­ми­налов, их раз­но­род­ных API и биб­ли­отек. Модуль позволят ис­поль­зо­вать единый ин­терфейс для работы с POS-тер­ми­нала­ми. Под­дер­жка каждого нового банка или тер­ми­нала осу­щест­вля­ет­ся в самом модуле без не­об­хо­димос­ти вносить из­ме­нения в ERP-систему ProSklad. Таким образом, раз­ра­бот­ка desktop-при­ложе­ния поз­во­лила привлечь новых пот­ре­бите­лей и рас­ши­рить список банков-эк­вай­еров, под­клю­чение которых ранее было зат­рудни­тель­но.

  • Технологии:
  • C#
  • .Net
  • С++/CLI
  • RS-232
  • Windows Forms
  • Websocket

  • Технологии:
  • Python
  • PostgreSQL
  • FastAPI
  • ORM ormar
  • Jinja2
  • Сelery
  • Scrapy