Проект
Smart Organic – персонализирано Shopify приложение
Smart Organic е български производител и дистрибутор на био и здравословни храни. BettrFood е онлайн търговската платформа на компанията, през която продуктите се продават на крайни клиенти чрез Shopify, докато складирането, логистиката и счетоводството се управляват в Microsoft Dynamics NAV.
Проектът
Middleware приложение, което автоматизира обмена на данни между ERP системата на клиента (Microsoft Dynamics NAV) и онлайн магазина му в Shopify. Целта е наличностите, цените и поръчките да са синхронизирани по всяко време, без ръчна работа от екипа по операциите.
Основна функционалност
- Синхронизация на продуктите — артикулите се извличат от NAV през OData Web Services и съответните продукти и варианти се създават или обновяват в Shopify.
- Обновяване на цени и наличности — планирана Hangfire задача взима текущите цени и количества от NAV и ги изпраща към Shopify. Ценообразуването се прави от отделен
ShopifyPriceCalculator, който отчита ДДС, промо цени и правила за закръгляване. - Прехвърляне на поръчки — Shopify webhook се задейства при всяка нова поръчка, която се преобразува във формата на NAV и се записва като Sales Order в ERP системата, със следене на статуса за всяка поръчка в отделен модул Order Transfers.
- Админ панел (Blazor Server) — конфигуриране на достъпите до NAV и Shopify, преглед на логовете в реално време, ръчно пускане на задачи, управление на потребители и роли през ASP.NET Identity.
- Планиране на задачи — конфигурируеми интервали за всяка задача (минути / часове), автоматично генериране на cron изрази и вграден Hangfire dashboard.
- Устойчивост — Polly политики за повторен опит при нестабилни заявки към NAV/Shopify, механизъм за заключване, който не позволява една и съща задача да върви паралелно, и автоматично изчистване на старите логове.
Архитектура
- Бекенд: .NET 8 и ASP.NET Core, слоеста архитектура с отделни услуги за NAV, Shopify, конфигурация, логване и прехвърляне на поръчки.
- UI: Blazor Server със SignalR и Bootstrap.
- База данни: PostgreSQL през Entity Framework Core, със схемни миграции, управлявани от FluentMigrator.
- Планировчик на задачи: Hangfire върху PostgreSQL storage.
- Външни интеграции: ShopifySharp за Shopify Admin API, RestSharp за NAV OData Web Services.
- Автентикация: ASP.NET Core Identity с роли и cookie автентикация.
Резултат за клиента
Пълна автоматизация на потока склад → онлайн магазин → поръчка → ERP: край на ръчното въвеждане на данни, край на разминаванията между реалната наличност в склада и това, което клиентите виждат онлайн, и централизиран контрол над цялата интеграция от един уеб панел.
Технологии
.NET 8
ASP.NET Core
Blazor Server
C#
Entity Framework Core 8
PostgreSQL (Npgsql)- Hangfire (background jobs)
- FluentMigrator
ASP.NET Core Identity- SignalR
ShopifySharp
Shopify Admin REST/GraphQL API- Microsoft Dynamics NAV OData Web Services
- RestSharp
- Polly (retry)
- SixLabors.ImageSharp
Bootstrap