Обща информация
Основният клиент, за когото разработваме този продукт, е компания за производство на бижута. Те са малък бизнес със стремеж към растеж. До момента са управлявали администрацията си чрез множество таблици в Excel, а по-старата им дейност се съхранява само на хартиени носители. Те се нуждаят от инструмент, който да замени текущия им процес, да съхрани цялата им предишна дейност и да осигури по-добра видимост върху нея.
Потребителите на инструмента са служители на компанията, отговорни за:
Доставката на ресурси;
Производството на бижута;
Продажбите;
Администратор, който да наблюдава процесите и да извършва редакции при възникване на несъответствия.
Съществува утвърден инструмент, който изпълнява всички гореспоменати функции, но дори и най-евтините му варианти са извън бюджета на повечето малки бижутерски къщи: https://www.gopiro.com/home.
Продуктът ни позволява да се създават изделия от наличните ресурси, да се извършват продажби към потребители, добавени в системата, и да се трансферират стоки към други организации.
Технически проблем
Данните в уебсайта се попълват от местната общност – хора, които живеят в селата, които описват. Процесът включва попълване на форма (Jotform), след което информацията се прехвърля ръчно в уебсайта на WordPress чрез копиране и поставяне, което отнема изключително много време.
Освен това, поради липсата на структурирана база данни за характеристиките на селата, филтрирането на информацията беше възможно единствено по име на селото и област.
Технически предизвикателства
Основното предизвикателство беше първоначалната липса на специфични познания в конкретната бизнес сфера (domain knowledge) в рамките на екипа. За да компенсираме това, работихме в тясно сътрудничество с клиента, който беше наш основен консултант и източник на изисквания за продукта.
Нашите цели включваха:
Баланс между специфични нужди и гъвкавост: Искахме да създадем решение, което не само решава конкретните проблеми на клиента, но и е достатъчно универсално, за да поддържа потенциално всеки друг подобен производствен процес.
Сложен модел на данните: Резултатът е сравнително комплексен модел на данните, проектиран да обслужва тази концепция за гъвкавост.
Устойчивост във времето: Сложността на архитектурата поставя пред нас предизвикателството да гарантираме, че системата ще остане лесна за поддръжка и разширяване в бъдеще, въпреки своята мащабност.
Решението
Разработихме стабилна и мащабируема архитектура, базирана на съвременни технологии:
Backend: Java Spring Boot приложение.
База данни: PostgreSQL за сигурно съхранение на структурираните данни.
Frontend: Vue.js приложение за интуитивен потребителски интерфейс.
Инфраструктура: Услугите са контейнеризирани и разгърнати на AWS EC2 инстанция.
Автоматизация: Внедрено е CI/CD решение, използващо GitHub Actions и AWS CodeDeploy, което автоматизира процесите по изграждане, тестване и внедряване на кода.
Възможности, поддържани от продукта:
Организации:
- Добавяне на организация
- Добавяне/редактиране на потребители към организацията със специфични нива на достъп
- Трансфер на продукти или ресурси от една организация към друга
Потребители:
- Глобално създаване/редактиране/изтриване на потребители
- Преглед на закупените от потребителя ресурси/продукти
Ресурси:
- Глобално създаване/редактиране/изтриване на потребители
- Преглед на закупените от потребителя ресурси/продукти
Продажби:
- Глобално създаване/редактиране/изтриване на потребители
- Преглед на закупените от потребителя ресурси/продукти

