Калькулятор логистики

Frontend+backend (Vue+Vuex, Laravel, PHP, mySQL, JS)

Интеграция с Яндекс.Картами

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

Автоматически подбирается нужны тип автомобиля, учитывается множество параметров, контролируемых в админской части.

Через API Яндекс.Карт автоматически определяется ближайшая к введённому пункту отправки опорная точка, рассчитываются десятки параметров

Админская часть управляется через backend на Laravel / Backpack

Видео проекта

Мастер.Онлайн

Дизайн, программирование, вёрстка (Laravel, PHP, mySQL, JavaScript)

Интеграция: карты MapBox, платежи Robokassa, авторизация и оповещения Telegram

Сайт компании, организующей выездной ремонт автомобилей прямо на месте поломки

Пользователи сайта делятся на 4 группы: клиенты, мастера, модераторы, администраторы

Пользователи оставляют заявки на ремонт, мастера откликаются на них. Пользователи выбирают мастера по рейтингу, расстоянию до мастера (для рассчёта времени в пути используется MapBox API). По выполнению заявки осуществляется оплата через Robokassa, пользователи и мастера могут оставлять отклики друг о друге, которые контролируются модераторами.

Админская часть создана с использованием Laravel / Backpack

Видео проекта

Сбер - 5event

Дизайн, программирование (JS)

Интеграция: Tilda, Google Sheets, Telegram

Сайт - лэндинг, состоящий из большой динамической анкеты и нескольких статических страниц.

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

Проект, по требованию заказчика, создавался на известном конструкторе Tilda. Но возможности Tilda сильно ограничены встроенными компонентами, поэтому пришлось встраивать свои расширяющие скрипты и вёрстку в имеющиеся структуры.

Например, дописывать компонент, который в опросе позволяет сделать пункты выбора картинками. Или сделать так, чтобы дальнейшее оформление сайта менялось в зависимости от выбора предпочитаемого цвета в начале... в Тильде подобная логика не предусмотрена в принципе.

Собранные в результате данные отправляются в Google Sheets, на e-mail заказчика и в Telegram.

Интернет-магазин пультов ДУ

Дизайн, вёрстка, программирование (PHP, JS, mySQL), настройка сервера (Centos 7 / Apache+Nginx / mariaDb / Sphinx)

Старый и хорошо известный в своём сегменте интернет-магазин с десятками тысяч товаров и более 50.000 внутренних связей в таксономии. Изначально сайт работал на очень старом движке Drupal, база, как и дизайн, были разработаны ещё в 2003 году.

По требованиям заказчика, основной движок пришлось сохранить, чтобы не менять бизнес-процессы резко. Для того, чтобы сайт мог работать на современном VDS-хостинге, пришлось переводить имеющуюся кодовую базу на PHP 7, с которым он изначально был несовместим, пришлось переписывать компоненты с учётом современных требований к безопасности и механизмам работы. Проанализированы и переписаны многие SQL-запросы, механизмы кеширования и выдачи данных.

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

На сайте вместе с новым лёгким дизайном была реализована адаптивная мобильная вёрстка, выполнена SEO-оптимизация, зависимая от контента, микроразметка.

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

Система поиска сделана на основе отдельного поискового движка Sphinx, со своим языком запросов SphinxQL (подмножество SQL). В результате поиск работает мгновенно и всегда выдаёт актуальные данные (быстрая индексация раз в час почти не грузит сервер).

Также реализована система анализа финансовой статистики, быстрый обзор и обработка заказов менеджерами. Создан бэк-энд интерфейс для менеджеров, через который они могут управлять многими разделами сайта, например, задавать расположение пунктов выдачи на карте метро.

StatEx - Financial Stats & Analysis

UI/UX, программирование JS, PHP, SQL, интеграция с Telegram.

Система финансового анализа и статистики для сети интернет-магазинов позволила контролировать потоки продаж по тысячам товаров, собирать и анализировать статистику в различных разрезах, строить прогнозы продаж и сравнивать с текущим выполнением плана.

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

Кроме того, был создан Telegram-бот, рассылающий краткую сводку авторизованным клиентам, выполнена интеграция с Почтой России (трекинг посылок, расчёт тарифов, SOAP, XML).

Renovatio Entertainment

Вёрстка, программирование, интеграция с CRM Битрикс (JS, PHP)

Сайт продюсерской компании, выполненный на CRM Битрикс, нуждался в обновлении дизайна. Для этого дизайн пришлось не просто переводить в адаптивную вёрстку, но и создавать компоненты Битрикс, позволяющие администраторам контролировать динамически контролировать контент.

Проект был бы простым, но его пришлось строить на имеющемся legacy-коде многих компонентов. Некоторые пришлось переписывать, с какими-то -- сохранять совместимость. Также пришлось заниматься и настройкой сервера.

Кроме того, была реализована многоязычность для сайта: переключение между русской и английской версией в вёрстке и компонентах сайта.

InSoft

UI/UX дизайн для больших баз данных государственной статистики

Сложность задачи - в том, чтобы компактно, читаемо и удобно разместить на экране очень большие объёмы информации. Дизайн создан так, чтобы пользователи не уставали при долгой работе с базой в течение целого дня, быстро ориентировались и допускали минимум ошибок при работе с важными данными.

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

Дом из сказки / АртКело

дизайн, вёрстка, программирование (PHP, mySQL, JS), интеграция с CRM Битрикс (JS, PHP), Google Sheets

Вёрстка и дизайн многостраничного сайта. Первая страница представляет собой лендинг-страницу со сложной вёрсткой на много экранов. Сам сайт - каталог проектов деревянных домов.

Необычным требованием заказчика было управление каталогом через единую таблицу Google Sheets. Был создан бэк-энд, позволяющий импортировать данные из Google Sheets напрямую в Битрикс, при этом фильтруя и обрабатывая данные.

Вёрстка также включала в себя SEO-оптимизацию всего сайта.

IBMC / ИБМХ сайт Института Биохимии

Дизайн, вёрстка, программирование (PHP), интеграция с CMS Joomla

Сайт Института был построен на устаревшей системе управления, и состоит из тысяч страниц, множества иллюстраций, таблиц.

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

Сотрудникам Института, учёным (не IT-специалистам), требовалась возможность управлять контентом сайта без глубоких знаний HTML. Для этого была разработана система шорт-кодов, позволяющая просто и удобно создавать блоки с красивым дизайном - изображения сотрудников, иллюстрации к статьям, телефонные номера и ссылки на внешние сайты, кнопки, целые галереи изображений и другие элементы с предварительно заданным дизайном. Всё это было запрограммировано, объединено с визуальным редактором и решило задачу.

Также на сайте появился поиск по всем материалам, адаптивная мобильная вёрстка, современный дизайн всего старого контента.

 

Simple Virus Scanner

Программирование (PHP)

GitHub link

Файловый сканер для вирусов, заражающих php-файлы, и прячущих свой код различными методами.

Другие антивирусы, коммерческие (VirusDie) и бесплатные, с проблемой не справлялись.

Данный сканер анализирует файлы более чем по 30 признакам, каждый из которых имеет свой вес, и выдаёт удобный отчёт со степенью опасности каждого подозрительного файла. Известные файлы стандартных поставок Joomla и Битрикс игнорируются, чтобы уменьшить число ложных срабатываний.

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