Научная статья на тему 'ИНФОРМАЦИОННАЯ СИСТЕМА УПРАВЛЕНИЯ ПРОЦЕССОМ ОНЛАЙН-ЗАПИСИ КЛИЕНТОВ КОМПАНИИ В СФЕРЕ УСЛУГ'

ИНФОРМАЦИОННАЯ СИСТЕМА УПРАВЛЕНИЯ ПРОЦЕССОМ ОНЛАЙН-ЗАПИСИ КЛИЕНТОВ КОМПАНИИ В СФЕРЕ УСЛУГ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
160
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕБ-ПРИЛОЖЕНИЕ / ИНФОРМАЦИОННАЯ СИСТЕМА / АВТОМАТИЗАЦИЯ ЗАПИСИ / СФЕРА УСЛУГ / КЛИЕНТ / АДМИНИСТРАТОР / NESTJS / REACT / MONGODB / NODE.JS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Коломина М.В., Щербаков О.А.

В статье представлена информационная система для компании, деятельность которой связана со сферой услуг. Система позволяет управлять процессом онлайн-записи клиента на оказание услуги. Во многих аналогичных системах для внесения изменений в свою запись клиенту необходимо связываться с администратором, например по телефону. В данной системе осуществить запись, изменить ее или отменить совсем может как сам клиент, так и администратор компании. Действия каждой из сторон сразу отображаются в системе, что экономит время всем пользователям и упрощает работу администратора. Клиент и администратор имеют различный набор возможностей управления. Информационная система является веб-приложением, рассмотрены особенности его разработки: проектирование базы данных, создание RestAPI. Для реализации веб-приложения на серверной части был использован фреймворк NestJS, на клиентской части библиотеки - React и Redux.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Коломина М.В., Щербаков О.А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

INFORMATION SYSTEM FOR MANAGING THE RECORD OF CUSTOMERS OF THE COMPANY IN THE SERVICE SECTOR

The article presents an information system for a company whose activities are related to the service sector. The system allows you to manage the process of online registration of a client for the provision of a service. In many similar systems, in order to make changes to their record, the client must contact the administrator, for example by phone. In this system, both the client and the administrator of the company can make a record, change it, or completely cancel it. The actions of each of the parties are immediately displayed in the system, which saves time for all users and simplifies the work of the administrator. The client and administrator have a different set of control options. The information system is a web application, the features of its development are considered: database design, creation of RestAPI. To implement the web application on the server side, the NestJS framework was used, on the client side of the React and Redux libraries.

Текст научной работы на тему «ИНФОРМАЦИОННАЯ СИСТЕМА УПРАВЛЕНИЯ ПРОЦЕССОМ ОНЛАЙН-ЗАПИСИ КЛИЕНТОВ КОМПАНИИ В СФЕРЕ УСЛУГ»

УДК 004.001

ИНФОРМАЦИОННАЯ СИСТЕМА УПРАВЛЕНИЯ ПРОЦЕССОМ ОНЛАЙН-ЗАПИСИ КЛИЕНТОВ КОМПАНИИ В СФЕРЕ УСЛУГ

Статья поступила в редакцию 22.10.2022, в окончательном варианте - 18.12.2022.

Коломина Марина Владимировна, Астраханский государственный университет имени В. Н. Татищева, 414056, Российская Федерация, г. Астрахань, ул. Татищева, 20а,

кандидат физико-математических наук, доцент, доцент кафедры прикладной математики и информатики, ORCID: 0000-0001-7997-7807 0, e-mail: mkolomina2014@gmail.com

Щербаков Олег Александрович, Астраханский государственный университет имени В. Н. Татищева, 414056, Российская Федерация, г. Астрахань, ул. Татищева, 20а,

магистрант, ORCID: 0000-0002-3775-0468, e-mail: oshcherbakov2018@mail.ru

В статье представлена информационная система для компании, деятельность которой связана со сферой услуг. Система позволяет управлять процессом онлайн-записи клиента на оказание услуги. Во многих аналогичных системах для внесения изменений в свою запись клиенту необходимо связываться с администратором, например по телефону. В данной системе осуществить запись, изменить ее или отменить совсем может как сам клиент, так и администратор компании. Действия каждой из сторон сразу отображаются в системе, что экономит время всем пользователям и упрощает работу администратора. Клиент и администратор имеют различный набор возможностей управления. Информационная система является веб-приложением, рассмотрены особенности его разработки: проектирование базы данных, создание RestAPI. Для реализации веб-приложения на серверной части был использован фреймворк NestJS, на клиентской части библиотеки - React и Redux.

Ключевые слова: веб-приложение, информационная система, автоматизация записи, сфера услуг, клиент, администратор, NestJS, React, MongoDB, Node.js

INFORMATION SYSTEM FOR MANAGING THE RECORD OF CUSTOMERS OF THE COMPANY IN THE SERVICE SECTOR

The article was received by the editorial board on 22.10.2022, in the final version — 18.12.2022.

KolominaMarina V., Astrakhan Tatishchev State University, 20a Tatishchev St., Astrakhan, 414056, Russian Federation,

Cand. Sci. (Physics and Mathematics), Associate Professor, Associate Professor of the Department of Applied Mathematics and Informatics, ORCID: 0000-0001-7997-7807 0, e-mail: mkolomina2014 @gmail.com

Shcherbakov OlegA., Astrakhan Tatishchev State University, 20a Tatishchev St., Astrakhan, 414056, Russian Federation,

undergraduate student, ORCID: 0000-0002-3775-0468, e-mail: oshcherbakov2018@mail.ru

The article presents an information system for a company whose activities are related to the service sector. The system allows you to manage the process of online registration of a client for the provision of a service. In many similar systems, in order to make changes to their record, the client must contact the administrator, for example by phone. In this system, both the client and the administrator of the company can make a record, change it, or completely cancel it. The actions of each of the parties are immediately displayed in the system, which saves time for all users and simplifies the work of the administrator. The client and administrator have a different set of control options. The information system is a web application, the features of its development are considered: database design, creation of RestAPI. To implement the web application on the server side, the NestJS framework was used, on the client side of the React and Redux libraries.

Keywords: web application, information system, record automation, service industry, client, administrator, NestJS, React, MongoDB, Node.js

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

в материалах Всероссийской научно-практической конференции «Перспективы и возможности использования цифровых технологий в науке, образовании и управлении» [1]. Так, авторы Г. С. Га-шимова, В. А. Черкасова [2] описывают информационную систему для туроператора.

Существуют готовые сервисы, позволяющие автоматизировать запись клиентов. Например, сервис онлайн-записи и привлечения новых клиентов в сфере красоты BeautyLook [3] или сервис Napriem.com [4]. Однако эти сервисы не учитывают специфику компании. Возникает необходимость разработки собственной ИС с более широким функционалом, которая позволяет осуществить запись на оказание услуги, с одной стороны, самому клиенту, а с другой - администратору компании.

Разработана ИС, где содержатся взаимосвязанные подсистемы: личный кабинет клиента и подсистема администратора.

Для личного кабинета реализовано:

• аутентификация пользователя;

• профиль пользователя;

• автоматизация записи на услугу;

• возможность просматривать активные записи;

• просмотр архива записей.

Для подсистемы администратора реализовано:

• настройка графика оказываемых услуг (день, месяц, время, число клиентов);

• возможность администратора взаимодействовать с личным кабинетом клиента;

• возможность просматривать информацию обо всех клиентах, зарегистрированных в системе;

• возможность записать, изменить, перенести, удалить запись клиента на услугу.

Рассмотрим подробнее разработанную информационную систему. При создании ИС важно

правильно выбрать технологии и инструменты реализации. В данном проекте использовалась архитектура «клиент-сервер».

В качестве языка программирования был выбран JavaScript. JavaScript долгое время широко использовался при создании клиентской части сайта (frontend разработка), но в последнее время благодаря программной платформе NodeJS, основанной на движке V8, появилась возможность использовать JavaScript вне браузера, например, для серверной части (backend разработка). Таким образом, можно разрабатывать как frontend, так и backend, используя один язык программирования.

Для ускорения и упрощения разработки серверного приложения на NodeJS был выбран фрейм-форк NestJS. Этот фреймворк полностью поддерживает язык Typescript. Сервер построен в соответствии с архитектурным стилем REST (Representational State Transfer - «передача репрезентативного состояния») API [5, c. 2]. Другими словами, REST - это набор правил того, как программисту организовать написание кода серверного приложения, чтобы все системы легко обменивались данными и приложение можно было масштабировать. Далее информация излагается на основе источника [5, c. 8-11]. Основными строительными блоками архитектуры Rest являются ресурсы (resource). Ресурс - это абстракция, которая определяет то, что она будет предоставлять. Структура ресурса представлена в таблице 1.

Таблица 1 - Структура ресурса

Свойство Описание

Способ представления данных Для представления данных можно использовать JSON, XML и другие форматы

Идентификатор Идентификатор ресурса должен однозначно ссылаться на ресурс в любой момент времени

Метаданные Заголовок-сущность Content-Type, время последнего изменения и др.

Для ИС важно правильно определить ресурсы, которые будут отвечать архитектурному стилю Rest API. В данной ИС всего 5 ресурсов: users (пользователи), auth (аутентификация), appointments (информация об услугах), profile (профиль пользователя), records (записи пользователя на оказание услуг). В качестве способа представления данных используется JSON, так как он удобочитаемый для человека и в файле JSON очень мало данных, не связанных напрямую с передаваемой информацией. Это основные преимущества JSON-формата над XML.

Связь между клиентом и сервером должна быть выстроена с помощью HTTP-протокола особым образом. Каждый запрос, сделанный от клиента, должен содержать полную информацию, необходимую для того, чтобы сервер определил, какое действие хочет сделать клиент без использования каких-либо сохраненных данных. Для доступа к ресурсам необходимо определить конечные точки (endpoints). В качестве корневой конечной точки выступает /api/v1. Тогда, например, для доступа к ресурсу users можно использовать следующий URI (Unique Resource Identifier): GET

/api/v1/users, для appointments URI будет: GET /api/v1/appointments и т.д. Представленные идентификаторы однозначно ссылаются на соответствующие ресурсы в любой момент времени.

Для каждого ресурса есть общий набор операций CRUD (create, read, update, delete), которые он может предоставлять. Существуют и другие операции, которые клиентское приложение может выполнять с ресурсами, они зависят от возможностей, которые предоставляет API. Для конкретной операции можно сопоставить определенный HTTP-метод (табл. 2).

Таблица 2 - Соответствие операций и HTTP-методов

HTTP-метод Операция

GET Получение ресурса только для чтения

POST Добавление нового ресурса

PUT Изменение существующего ресурса

DELETE Удаление ресурса

На рисунке 1 представлена схема обмена данными между клиентским и серверным приложением в соответствии с архитектурным стилем REST.

Модель Rest API

КЛИЕНТ REST API СЕРВЕР

Рисунок 1 - Архитектурный стиль RestAPI

Количество клиентов компании может быть очень большим, поэтому важно выбрать СУБД с высокой производительностью и простой масштабируемостью. Всем этим требованиям удовлетворяет СУБД MongoDB. Кайл Бэнкер в своей книге «MongoDB в действии» приводит описание возможных причин использования MongoDB: «MongoDB - это СУБД, «заточенная» под веб-приложения и инфраструктуру интернета. Модель данных и стратегия их постоянного хранения спроектированы для достижения высокой пропускной способности чтения и записи и обеспечивает простую масштабируемость с автоматическим переходом на резервный ресурс в случае отказа». Данная СУБД типа NoSQL имеет интуитивно понятную модель данных и использует документно-ориентированную модель для представления иерархически организованных структур данных, поэтому большая часть информации может быть представлена в виде одного документа в виде JSON-подобной структуры. Простая масштабируемость, высокая скорость работы, автосегментирование, репликация определяют использование MongoDB в информационной системе [6].

В MongoDB не нужно использовать строгую нормализацию как в СУБД типа SQL (нормализация - это разнесение данных объекта по нескольким таблицам). Модель базы данных представлена на рисунке 2. В коллекции User хранится информация о клиентах, в коллекции Appointments -информация об услугах на каждый день. В коллекции Personal Records - записи клиента на оказание услуги. В коллекции Token - токен обновления для конкретного пользователя.

В NestJS для обработки HTTP-запросов используются контроллеры (controllers). Контроллеры делегируют более сложные задачи провайдерам (providers), в качестве которых выступают сервисы (services). Так как в Nest используется паттерн Dependency Injection (внедрение зависимостей), провайдеры можно внедрить как внешние зависимости в другие классы.

Для создания модели базы данных на серверной части используется ODM (Object Document Mapper - объектно-документный отобразитель) mongoose. Он позволяет определять объекты со строго-типизированной схемой, соответствующей документу MongoDB. Описание схем в NestJS

происходит с использованием специальных декораторов. К классу, который описывает схему, необходимо прикрепить декоратор @Schema(). К каждому полю класса прикрепляется декоратор @Prop() для описания свойств. Экспортировать класс необходимо с помощью функции createForClass, которую предоставляет класс SchemaFactory. Пример описания схемы коллекции User представлен на рисунке 2.

Рисунок 2 - Модель базы данных

@Schema() export class User { @Prop({ required: true }) firstName: string @Prop({ required: true }) lastName: string @Prop()

patronymic: string

@Prop({ required: true, unique: true }) email: string

@Prop({ required: true }) password: string

}

export const UserSchema = SchemaFactory.createForClass(User)

После создания схемы необходимо внедрить модель User в сервис UsersService с помощью декоратора @InjectModel():

@Injectable() export class UsersService { constructor(@InjectModel(User.name) private userModel: Model<UserDocument>) {}

}

В UserService, используя модель, можно делать определенные действия, например, создать нового пользователя, найти пользователя по уникальному идентификатору и т.д. Подробнее об этом можно найти в официальной документации [7].

Фреймворк NestJS позволяет использовать множество модулей, которые он предоставляет «из коробки». В частности, аутентификация пользователей реализована с использованием специальных модулей NestJS, которые основаны на популярной библиотеке для аутентификации Passport. Клиент личного кабинета может войти в систему и зарегистрироваться (рис. 3). Чтобы реализовать подобную логику, необходимо определить две конечные точки на сервере, на которые необходимо делать запрос c клиентской части.

Для аутентификации популярным решением являются токены доступа JWT (JSON Web Token). Один из возможных вариантов использования токенов следующий: после регистрации или успешного входа в систему на сервере генерируется и отправляется в качестве ответа два токена: токен доступа и токен обновления. Токен доступа записывается в хранилище на клиентской части, а токен обновления записывается на сервере в HTTP Cookie с флагом httpOnly, который указывает на запрет чтения и записи данных Cookie посредством языка JavaScript. В случае если при обращении клиента к серверу токен доступа прошел проверку на валидность и время его жизни не истекло, то пользователь получит доступ к серверу. Иначе серверное приложение ответит ошибкой, клиентское приложение обработает ее и, используя interceptor (перехватчик), попытается запросить у сервера новую пару токенов. Реализовать перехватчик проще всего, используя уже готовые решения, в частности библиотека axios предоставляет такую возможность. Пример реализации логики аутентификации подробно описан в официальной документации NestJS [8].

Рисунок 3 - Вход в личный кабинет

Имеет смысл сделать отдельно клиентскую часть для клиента и администратора компании. Для личного кабинета клиента использовалась библиотека React - JavaScript-библиотека для создания пользовательских интерфейсов и библиотека для управления состоянием приложения Redux.

Страницы входа и регистрации содержат формы с обязательными полями. Перед отправкой данных на сервер важно убедиться, что все поля форм заполнены данными в корректном формате. Это называется валидацией на стороне клиента и помогает убедиться, что данные, введённые в каждый элемент формы, соответствуют требованиям. Для валидации введенных значений на клиентской части используется библиотека yup. В случае, когда данные введены правильно, отправляется POST-запрос на сервер для регистрации или входа пользователя. Иначе пользователь получает сообщение о неправильно введенных данных. Обнаружение некорректных данных на стороне клиента позволяет пользователю немедленно их исправить.

Для записи на услугу клиент в личном кабинете переходит на вкладку «Услуги» и выбирает дату. При этом отправляется запрос на ресурс appointments для получения информации об услугах на эту дату. Сервер обрабатывает запрос и отправляет ответ, в котором содержится информация о свободном времени для записи (рис. 4).

Рисунок 4 - Страница выбора времени оказания услуги

Когда клиент записывается на услугу, отправляется PUT-запрос, при этом в тело запроса помещается информация о времени, дате, типе услуги.

Чтобы получить все записи клиента, необходимо отправить GET-запрос на сервер (GET /api/v1/records), при этом в качестве query-параметров не нужно указывать уникальный идентификатор пользователя, для которого нужно вернуть записи, так как сервер может взять эту информацию из полезной нагрузки (payload) JWT-токена. Записи клиента отображаются во вкладке «Мои записи» (рис. 5).

В личном кабинете клиента находятся контактные данные компании (адрес, телефон) и актуальный список услуг с ценами. Более подробно описание алгоритмов создания клиентской части представлено в работе [9].

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

Рисунок 5 - Записи клиента

Для системы администратора использовалась библиотека React Admin. React Admin - это фреймворк для разработки интерфейсов администратора путем взаимодействия с API. Чтобы связать клиент системы администратора и сервер, необходимо создать некоторый промежуточный слой (Data Provider), который будет представлять данные в том виде, в котором его ожидает React Admin (рис. 6).

Браузер пользователя

jS^L --^ Data Provider ......

Ж5ЖВ Запрос' нттр

вВ данных Клиент

React Admin

Рисунок 6 - Промежуточный слой Data Provider для взаимодействия React Admin и сервера

Часть кода Data Provider представлена ниже:

import { fetchUtils } from 'react-admin'; import { stringify } from 'query-string'; const apiUrl = process.env.REACT_APP_API_URL const httpClient = fetchUtils.fetchJson; const withIdField = (inObject) => { let outObject

if (typeof inObject !== 'object' || inObject === null) { return inObject

}

outObject = Array.isArray(inObject) ? [] : {}

for (let key in inObject) { const value = inObject[key] outObject[key] = withldField(value) if (key === '_id') { outObject['id'] = outObject[key]

}

}

return outObject

}

export default { getList: (resource, params) => { const { page, perPage } = params.pagination; const { field, order } = params.sort; const query = { sort: JSON.stringify([field, order]),

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

range: JSON.stringify([(page - 1) * perPage, page * perPage - 1]), filter: JSON. stringify(params.filter),

};

const url = ^{apiUr^^resource^^tringify^uery)}4; return httpClient(url).then(({ headers, json }) => { const data = withldField(json) return { data: data,

total: parse/nt(headers.get('content-range') .split('/').pop(), 10),

} }

)}};

Библиотека React Admin требует, чтобы все данные, приходящие с сервера, содержали обязательное поле id. Для этой цели была создана рекурсивная функция withldField, которая рекурсивно проходится по объекту и создает поле id, равное существующему полю _id, полученному из Mongo.

Согласно документации React Admin, необходимо описать ресурсы для пользовательского интерфейса. Ресурс - это компонент, имеющий обязательное свойство name, которое отвечает за название точки доступа API на сервере. С помощью свойств list, edit, show указываются компоненты для списка записей, редактирования и отображения записи соответственно. Пример объявления ресурса Appointments ниже:

function App() { return (

<Admin title="My Custom Admin" dataProvider={dataProvider}>

<Resource name="appointments" options={{label: 'Записи'}} list={AppointmentList} edit={AppointmentEdit}show={AppointmentShow}/>

</Admin> );

В компонентах AppointmentList, AppointmentEdit, AppointmentShow описаны соответствующие пользовательские интерфейсы. Часть кода файла AppointmentShow представлена ниже:

export const AppointmentShow = props => ( <Show title="Запись" {...props}

>

<SimpleShowLayout> <CustomDateField source="date" label="Дата"/> <ArrayField source-'appointments" label="Расписание на этот день"> <Datagrid bulkActionButtons={false} >

<FunctionField label-''Время" render={record => format(new Date(record['time']), 'HH:mm', {locale: ru})}/>

<FunctionField label="Количество клиентов" render={record => record.patients.length} /> <PatientInfo source={'treatment'} label={'Лечебные занятия'}/>

<Райеп11пРэ source= {'physicalTraining'} 1аЬе1= {'Физкультурно -оздоровительные занятия'}/>

</Datagrid> </ArrayField>

<NumberFie1d soш"ce="шmberA11Patients" 1аЬе1="Общее количество клиентов"/> </SimpleShowLayout>

</Show>

);

Компонента <Show> обрабатывает логику страницы показа ресурса:

• извлекает запись с помощью dataProvider.getOneO;

• создает RecordContext;

• отображает дочерние компоненты.

Компонента <Show> по умолчанию не отображает никаких полей, она делегирует это своим дочерним элементам. Компонента <SimpleShowLayout> получает запись из RecordContext и отображает на экране поля в столбик. Вложенные в <SimpleShowLayout> компоненты отображают поля с соответствующим типом.

Пользовательский интерфейс компоненты <AppointmentShow> представлен на рисунке 7.

Рисунок 7 - Система администратора

В системе администратора на странице «Записи» находится календарный список, в котором содержится краткая информация об услугах на каждый день (рис. 8). Список записей отображает компонента <AppointmentList>.

Рисунок 8 - Страница с календарным списком записей

Администратор может изменить время оказания услуги, добавить новое время, установить максимальное количество клиентов (рис. 9). Поля для изменения отображает компонента Appoint-mentEdit>.

Рисунок 9 - Изменение времени занятия

Все изменения, проведенные администратором, отображаются в личном кабинете клиента. Полная схема ИС изображена на рисунке 10.

Рисунок 10 - Полная схема ИС

Заключение. В представленной информационной системе реализованы: аутентификация пользователей, автоматизация записи на занятия. Проект построен на клиент-серверной архитектуре с использованием архитектурной технологии Rest. Данный подход дает ряд преимуществ: добавление нового функционала в информационную систему, ее масштабируемость.

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

Размещение созданной информационной системы на сайте компании позволит:

• привлекать новых клиентов;

• облегчить работу администратора;

• сделать процесс записи клиента на услугу более комфортным и быстрым.

Библиографический список

1. Перспективы и возможности использования цифровых технологий в науке, образовании и управлении : сборник материалов Всероссийской научно-практической конференции. - Астрахань, 2022. - 222 с.

2. Гашимова, Г. С. Информационно-поисковая система бронирования баз отдыха Астраханской области для туроператора как модель системы массового обслуживания / Г. С. Гашимова, В. А. Черкасова // Перспективы и возможности использования информационных технологий в науке, образовании и управлении : сборник материалов Всероссийской научно-практической конференции. - 2019. - С. 10-14.

3. Онлайн-запись для бьюти-мастера // BeautyLook. - Режим доступа: https://beautylook.online /га/business/, свободный. - Заглавие с экрана. - Яз. рус. (дата обращения: 01.07.2022).

4. Ведение клиентской базы // napriem. - Режим доступа: https://napriem.com/, свободный. - Заглавие с экрана. - Яз. рус. (дата обращения: 02.07.2022).

5. Fernando Doglio. Pro REST API Development with Node.js // Apress. - 2015. - С. 2-11.

6. Кайл Бэнкер. MongoDB в действии // ДМК Пресс. - 2012. - С. 22-50.

7. Providers // NestJS. - Режим доступа: https://docs.nestjs.com/providers, свободный. - Заглавие с экрана. -Яз. англ. (дата обращения: 03.07.2022).

8. Authentication // NestJS. - Режим доступа: https://docs.nestjs.com/security/authentication, свободный. -Заглавие с экрана. - Яз. англ. (дата обращения: 02.07.2022).

9. Щербаков, О. А. Создание личного кабинета клиента в информационной системе ООО «Здоровье» / О. А. Щербаков // Перспективы и возможности использования цифровых технологий в науке, образовании и управлении : сборник материалов Всероссийской научно-практической конференции. - Астрахань, 2022. -С. 192-197.

References

1. Perspektivy i vozmozhnosti ispolzovaniya tsifrovykh tekhnologiy v nauke, obrazovanii i upravlenii: sbornik materialov Vserossiyskoy nauchno-prakticheskoy konferentsii [Prospects and opportunities for using digital technologies in science, education and management : Election of materials of the All-Russian scientific-practical conference]. Astrahan, 2022. 222 p.

2. Gashimova, G. S., Cherkasova, V. A. Informatsionno-poiskovaya sistema bronirovaniya baz otdykha Astra-khanskoy oblasti dlya turoperatora kak model sistemy massovogo obsluzhivaniya [Information retrieval system for booking recreation centers of the Astrakhan region for a tour operator as a model of a queuing system]. Perspektivy i vozmozhnosti ispolzovaniya informatsionnykh tekhnologiy v nauke, obrazovanii i upravlenii: sbornik materialov Vserossiyskoy nauchno-prakticheskoy konferentsii [Prospects and possibilities of using information technologies in science, education and management : collection of materials of the All-Russian scientific-practical conference], 2019, pp. 10-14.

3. Onlayn-zapis dlya byuti-mastera [Online appointment for a beauty master]. BeautyLook. Available at: https://beautylook.online/ru/business/ (accessed 07.01.2022).

4. Vedenie klientskoy bazy [Maintaining a client base]. napriem. Available at: https://napriem.com/ (accessed 07.02.2022).

5. Fernando, Doglio. Pro REST API Development with Node.js. Apress, 2015, pp. 2-11.

6. Kyle, Banker. MongoDB v dejstvii [MongoDB in action]. DMKPress, 2012, pp. 22-50.

7. Providers. NestJS. Available at: https://docs.nestjs.com/providers (accessed 07.03.2022).

8. Authentication. NestJS. Available at: https://docs.nestjs.com/security/authentication (accessed 07.02.2022).

9. Shcherbakov, O. A. Sozdanie lichnogo kabineta klienta v informatsionnoy sisteme OOO «Zdorove» [Creation of a client's personal account in the information system of Zdorovye LLC]. Perspektivy i vozmozhnosti ispolzovaniya tsifrovykh tekhnologiy v nauke, obrazovanii i upravlenii : sbornik materialov Vserossiyskoy nauchno-prakticheskoy konferentsii [Prospects and opportunities for using digital technologies in science, education and management : collection of materials of the All-Russian scientific-practical conference]. Astrakhan, 2022, рp. 192-197.

i Надоели баннеры? Вы всегда можете отключить рекламу.