St. Petersburg, Russian Federation
Russian Federation
Sankt-Peterburg, St. Petersburg, Russian Federation
The article considers the development of a web service for business projects’ and business ideas’ management. The application allows to provide users with the opportunity to create their own business project and evaluate the solutions of other users. Main attention is made to take into account the categories of costs for the project associated with its feasibility study, as well as to track project versions in an automated mode. The subject area was analyzed, the design of the system and the data model necessary for the operation of the system were described. Based on the data obtained, the requirements for the system are formulated, which allowed the system to have been designed in detail. The selected technologies for program realization are described and the server and client parts are developed, the implementation results are presented. The web service has been tested for errors and they were fixed. The audience is middle-aged and young people who are interested in getting information and analytics on the Internet and who want to manage their money wisely. Among the expected observations, first of all, innovative projects, immunity, as well as purposeful projects, for which it is necessary to find tasks and sponsors, should be noted, given the convenient assessment of communication with information technology. The application also has the competitive advantage of offering the possibility of using standard categories of financial costs, as well as technical ones for the needs of an innovative project. Version tracking invokes easy navigation through changes to a project in terms of software requirements, by impact requirement, and by cost categories, realized functions.
business project, business idea, information technology in business, database management system, model
Введение
В современном мире существует большое количество отраслей экономики, связанных с частным бизнесом, который может реализовываться в разных вариациях [1]. Существует множество форм организации бизнеса в сети Интернет, и список этот постоянно увеличивается, давая возможность организовать практически любой бизнес в компьютерных сетях, среди которых:
- торговые площадки (интернет-биржи, аукционы, каталоги товаров и услуг);
- электронное управление закупками;
- порталы (корпоративные, информационные, коммерческие, персональные);
- организация, содержание и обслуживание общественных глобальных сетей (осуществляется операторами сетей);
- финансовые услуги (онлайновые платежные системы, обменные пункты, интернет-банкинг, онлайн-трейдинг);
- инвестиционные фонды (консолидированные инвестиционные фонды или буферные фонды и паевые инвестиционные фонды);
- интернет-магазины;
- контент-проекты (сайты с бесплатной и востребованной информацией для привлечения посетителей с целью ведение рекламного бизнеса);
- информационные посредники (каталоги, рейтинги, поисковые системы);
- информационный бизнес в сети Интернет (периодические интернет-издательства, новостные сайты и т. д.);
- интернет-маркетинг (продвижение сайта в поисковых системах);
- рекламный бизнес;
- услуги связи и средства общения;
- WEB-мастеринг (создание сайтов, веб-программирование, веб-дизайн, раскрутка сайтов);
- MLM, или сетевой маркетинг (форма ведения внемагазинной розничной торговли);
- разработка программного обеспечения, цифровых товаров и услуг;
- услуги сервис-провайдеров (поставщики сетевых услуг, поставщики хостинга, доменов);
- предоставление услуг (дистанционное обучение, сетевые библиотеки, электронное здравоохранение, интернет-консалтинг и т. д.);
- игорный бизнес в сети (виртуальные казино, букмекерские конторы, тотализаторы, лотереи);
- биржи труда (агентства по трудоустройству);
- партнерские программы;
- интернет-франчайзинг;
- интернет-лизинг.
Выделяется несколько ключевых факторов конкурентного успеха при ведении бизнеса в интернете:
- использование инновационной модели бизнеса;
- адаптация бизнес-модели и стратегии компании к меняющимся условиям рынка и новым возможностям;
- сосредоточение на нескольких, самых значимых видах деятельности;
- сохранение лидерства в развитии технологий;
- применение инновационных методов маркетинга;
- разработка цепочки ценности с учетом особенностей интернет-экономики, с упором на получение конкурентного преимущества за счет лидерства по издержкам на основе дифференциации или оптимального соотношения цены и качества.
Бизнесом и коммерческими идеями [2–4] занимаются как на уровне крупных отраслевых предприятий, так и на уровне большого, среднего и малого бизнеса (в том числе индивидуальных предпринимательских идей). Для того чтобы бизнес-идея была реализована в жизни, необходимо эту коммерческую идею представить. Люди, которые начинают вести индивидуальную инновационную предпринимательскую деятельность, испытывают затруднения в том, где эту идею разместить, чтобы привлечь потенциальных клиентов, инвесторов и реализаторов, из-за отсутствия агрегированной рекламы в сообществе по интересам.
Можно сделать вывод о том, что для реализации бизнеса на всех уровнях для предприятий различных типов, а также для индивидуальных проектов [5–7] требуется, чтобы вся специфика была учтена, а индивидуальные коммерческие идеи могли где-то создаваться, храниться, передаваться и осуществлять коммуникацию между заинтересованными лицами. Ввиду специфики инновационного проекта – отсутствия аналогов – особую актуальность приобретают агрегаторы, позволяющие собирать информацию о пилотных проектах и осуществлять коммуникацию между субъектами бизнес-среды.
В итоге у человека, который запускает свою бизнес-деятельность, появляются затруднения в том, где опубликовать свою коммерческую идею, привлечь подходящих заинтересованных лиц, указать особенности бизнеса (категория бизнеса, финансовые сметы, окупаемость, доходность и т. п.), и для того, чтобы вся эта деятельность была оптимизирована, появляется необходимость в едином информационном пространстве, где все информационные потоки могут накапливаться, храниться, передаваться, а различные категории пользователей могли встречаться посредством единого ресурса.
Таким образом, существует необходимость в разработке инструмента, который позволит осуществлять такого рода деятельность, значительно сокращая трудоемкость по продвижению и привлечению покупателей и развитию бизнеса для начинающих предпринимателей.
Методы проектирования и реализации поддержки выбора бизнес-проектов
Для выявления актуальности разработки и необходимых функций проведен анализ предметной области, в результате которого определен перечень функций для разрабатываемого веб-ресурса:
- просмотр категорий пользовательских проектов;
- отслеживание версий пользовательского проекта;
- фильтрация и поиск по проектам;
- типизация категорий затрат в соответствии с методикой технико-экономического обоснования бизнес-проектов.
Логическая модель данных системы представлена на рис. 1.
Структурная декомпозиция системы привела к проектированию ее на физическом уровне. Модель системной архитектуры представлена на рис. 2.
На основе этапа проектирования информационной системы была осуществлена ее программная реализация. После проведения сравнительного обзора программных средств было принято решение выбрать следующие программные средства.
Клиентская часть:
1. JavaScript. Любая современная веб-разработка является синонимом JS-разработки, это основной язык написания Frontend любого ресурса в сети Интернет, его выбор для проекта является основой и не нуждается в серьезном обосновании [8].
2. React. У JavaScript есть один недостаток, разработанные на нем UI/UX сложно поддерживать и развивать, но этот минус покрывается широким выбором фреймворков и библиотек. Для данного проекта был выбран фреймворк React от компании Facebook, т. к. он очень популярен, легок в использовании, имеет хорошую документацию и методологию при разработке, а также широко поддерживается сообществом.
3. Redux. В свою очередь React также не является идеалом: при разработке программного средства с помощью React сложно поддерживать понятную и поддерживаемую структуру данных, здесь и помогает Redux – библиотека для JS, позволяющая удобно управлять состоянием приложения. В процессе разработки был использован популярный при этой связке FLUX-паттерн, позволяющий разделить компоненты приложения на Container и Presentational, где презентационные контейнеры являются лишь представлением интерфейса для пользователя, а данными их снабжают Container-компоненты [9].
Рис. 1. Модель базы данных проекта
Fig. 1. Project database model
Серверная часть (сервер, сервисы, системы управления базами данных (СУБД), кеширование):
1. Node.js. Современный JavaScript имеет настолько широкое распространение, что его фреймворки уже успешно проникают на территорию серверных технологий. Для разработки сервера проекта был выбран фреймворк Node.js за удобство использования, популярность среди сообщества и потрясающий менеджер пакетов.
2. Express.js – пакет для Node.js, позволяющий очень быстро и просто разворачивать серьезные разработки [10].
3. MySQL – реляционная СУБД, популярная среди сообщества и бесплатная для использования в разрабатываемом продукте. Была выбрана, т. к. предоставляет широкий инструментарий и удовлетворяет всем требованиям [11].
4. Redis. Современные проекты не обходятся без кеширования, а Redis является одним из самых популярных решений в данной области. Был выбран для использования с целью ускорить выдачу необходимых данных, которые часто повторяются в запросах без изменений [12].
5. RabbitMQ – брокер сообщений, позволяющий реализовать микросервисную архитектуру на практически любом языке программирования. На проекте было принято реализовать сервис обработки данных, чтобы разгрузить основной сервер, поэтому был выбран RabbitMQ. В дальнейшем использование брокера позволит масштабировать систему как вертикально (увеличивая технические возможности сервера), так и горизонтально (запуская сервис-обработки данных на доступных серверах) [13].
Развертывание: Docker – популярный современный контейнеризатор. Побеждает во всех аспектах перед своими конкурентами, был выбран в проект практически на безальтернативной основе. Предоставляет возможность развернуть проект в любом месте для любой цели, разработки, тестирования или релиза [14].
На рис. 3–5 представлены примеры реализации ресурса по этапам управления бизнес-проектом.
Рис. 2. Модель архитектуры системы
Fig. 2. System architecture model
Рис. 3. Выбор категории
Fig. 3. Category selection
Рис. 4. Управление категориями затрат
Fig. 4. Cost category management
Рис. 5. Управление версиями проекта
Fig. 5. Project versioning
Таким образом, представленное программное средство позволяет управлять бизнес-идеями в автоматизированном режиме в удобном информационном пространстве, поддерживая процесс принятия решений.
Заключение
Программное решение разработано в соответствии с моделями проектирования, представленными в статье. Серверная часть реализована на языке программирования JavaScript с использованием фреймворков Node.js, Express.js и микросервисной архитектуры (RabbitMQ). В качестве СУБД была выбрана MySQL, для кеширования используется Redis. Клиентская часть также реализована на JavaScript с использованием библиотек React, Redux. Тестирование системы реализовано посредством Jest, RTL и Cypress. Для локальной разработки используется Docker. Программное решение позволяет осуществлять навигацию по бизнес-идеям в удобном автоматизированном формате, значительно сокращая трудоемкость выбора подходящего проекта с учетом его характерного типа, заданного бюджета и категорий затрат.
1. Bochkarev R. S., Zabrodskaia N. G. Prodvizhenie biznesa v seti Internet: teoriia, metody, strategii [Business promotion on Internet: theory, methods, strategies]. Internauka, 2020, no. 18-2 (147), pp. 52-53.
2. Portnykh I. D. Biznes-ideia i otsenka ee perspektivnosti [Business idea and assessment of its prospects]. Vestnik nauki, 2022, no. 1 (46), pp. 83-88.
3. Volkov I. V. Otsenka effektivnosti innovatsionnykh biznes-idei na rannei stadii razrabotki [Evaluating effectiveness of innovative business ideas at early stage of development]. Innovatsii i investitsii, 2022, no. 12, pp. 8-12.
4. Gorshenina E. V. Biznes-ideia ili chto Vy mozhete predlozhit' rynku [Business idea or what you can offer to market]. Ekonomicheskie issledovaniia, 2019, no. 4, p. 7.
5. Gorshenina E. V. Praktika predprinimatel'stva. Biznes-proekt: struktura, ogranicheniia i riski [Practice of entrepreneurship. Business project: structure, limitations and risks]. Ekonomicheskie issledovaniia, 2021, no. 4, pp. 1-7.
6. Chelukhina Iu. A. Klassifikatsiia biznes-proektov [Classification of business projects]. Vestnik magistratury, 2019, no. 3-2 (90), pp. 138-140.
7. Domovach Z. V. Sovremennye podkhody k podgotovke biznes-proektov [Modern approaches to preparation of business projects]. Innovatsionnaia ekonomika: informatsiia, analitika, prognozy, 2021, no. 3, pp. 20-25.
8. Vvedenie v JavaScript. Sovremennyi uchebnik JavaScript [Introduction to JavaScript. Modern JavaScript Tutorial]. Available at: https://learn.javascript.ru/intro (accessed: 17.03.2023).
9. Redux - A Predictable State Container for JS Apps. Available at: https://redux.js.org/ (accessed: 17.03.2023).
10. Express - freimvork veb-prilozhenii Node.js [Express - Node.js web application framework]. Available at: https://expressjs.com/ (accessed: 17.03.2023).
11. Why MySQL? Available at: https://www.mysql.com/ (accessed: 17.03.2023).
12. Introduction to Redis. Available at: https://redis.io/docs/about/ (accessed: 17.03.2023).
13. Messaging that just works - RabbitMQ. Available at: https://www.rabbitmq.com/ (accessed: 17.03.2023).
14. Docker overview. Docker Documentation. Available at: https://docs.docker.com/get-started/overview/ (accessed: 17.03.2023).