Евгений Сайты › Peppers Сбер ID
Сайты, SEO и GEO, реклама, чат-боты, ИИ и дизайн | Москва
Рейтинг
9 371
№ 111 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Москва
Опыт работы
11 лет
На сайте с
2016 года
Юридический статус
Самозанятый
Freelance.Boutique
Премиум-сервис для лучших исполнителей

Создание сайта — кабинет клиента склада ответственного хранения: остатки, приёмки и отгрузки на ASP.NET MVC, API на .NET Core Web API

Используемые навыки ASP.NET ASP.NET MVC .NET 5.0/6 .NET Core .NET Core Web API

Описание

Создание сайта для складского комплекса ответственного хранения в Подмосковье: клиентский кабинет с остатками, приёмками, отгрузками и документами плюс API, через которое склад общается с интернет-магазинами клиентов. Всё сделал Евгений Росляков. Он пишет сайты и веб-сервисы с 2016 года, работает самозанятым, подписывает договор и даёт юрлицам закрывающие документы. Работать можно очно в Москве или удалённо.

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

Прежний кабинет был написан на ASP.NET Web Forms. Остатки в нём можно было посмотреть, и только. Заявки на отгрузку клиенты присылали в Excel по почте, а остатки сверяли встречными таблицами. Менеджеры склада вручную переносили строки в учётную систему, и каждый второй разговор начинался с вопроса «а в файле точно так?».

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

Старый код висел на .NET Framework, и его всё труднее было обновлять и разворачивать. Поэтому вместо косметики решили собрать новый портал на современной платформе.

Решение

Портал разделён на две части: кабинет для людей и API для программ. Они работают на общей бизнес-логике и одной базе, но друг другу не мешают.

Кабинет клиента написан на ASP.NET MVC. Для тех, кто вырос на ASP.NET Web Forms, это заметный шаг: страницы строятся из понятных контроллеров и представлений, без скрытого состояния формы. В кабинете есть остатки по артикулам с поиском и фильтрами, история приёмок, заявки на отгрузку, акты и счета для скачивания. Заявку клиент собирает в форме или загружает таблицей, если строк много. Excel остался как запасной путь, но файл проверяется сразу: пустой артикул или лишнее количество клиент видит до отправки, а не из письма с ответом.

Для интеграций написал API на .NET Core Web API. Через него магазин клиента забирает остатки, отправляет заявки и узнаёт статусы: принято, собрано, отгружено. Слой данных тот же, что у кабинета, поэтому цифры в API и на экране совпадают. Доступ по ключам: у каждого клиента свой ключ и права только на его товар. Отдельно написал документацию, чтобы разработчик магазина подключался без звонков на склад.

Про платформу. Работа началась на .NET 5.0, когда шестая версия ещё не вышла. До запуска проект перевели на .NET 6 с долгой поддержкой: пятая версия переставала поддерживаться раньше, чем портал мог устареть. В заметках к сборке так и записано, .NET 5.0/6, а у клиентов работает шестая. Сам переход занял несколько дней, правки были мелкие: пакеты и настройки.

Вход и роли сделаны на штатных средствах ASP.NET Core. Менеджер склада видит всех клиентов, клиент — только себя.

Результат

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

Клиенты со своим сайтом или маркетплейсами подключились через API. Остатки уходят на витрину сами, заявки приходят на склад без пересылки файлов. У менеджеров склада меньше ручных операций: переносить строки из писем почти не приходится.

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

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

Клиенты присылают заявки таблицами, а ваши сотрудники переносят их руками? Свяжитесь со мной через сайт freelance.ru и расскажите, в какой системе ведёте учёт. Обсудим, что можно выдать клиентам в кабинете.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Перенос старых баз проектного института в PostgreSQL: dBase, FoxPro, FileMaker, 4th Dimension и Informix сведены в один веб-поиск по архиву
Перенос старых баз проектного института в PostgreSQL: dBase, FoxPro, FileMaker, 4th Dimension и Informix сведены в один веб-поиск по архиву
13
Веб-разработка и IT Корпоративный сайт Novaline: агентство мерчандайзинга, B2B-маркетинг, прототипирование, вёрстка на HTML5 и CSS3, оптимизация скорости страницы
Корпоративный сайт Novaline: агентство мерчандайзинга, B2B-маркетинг, прототипирование, вёрстка на HTML5 и CSS3, оптимизация скорости страницы
19
Веб-разработка и IT Внедрение CRM для дистрибьютора медицинского оборудования в Алматы: Zoho CRM вместо SugarCRM и vtiger, обмен с Salesforce.com
Внедрение CRM для дистрибьютора медицинского оборудования в Алматы: Zoho CRM вместо SugarCRM и vtiger, обмен с Salesforce.com
27
Маркетинг и Продвижение Продвижение в интернете производителя гранолы в Ташкенте: маркетинг инфлюенсеров, реклама на YouTube, промо и короткие видео
Продвижение в интернете производителя гранолы в Ташкенте: маркетинг инфлюенсеров, реклама на YouTube, промо и короткие видео
28