Разработка серверной части организации здравоохранения с использованием распределенной базы данных

1.

МИНОБРНАУКИ РОССИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ»
ИНСТИТУТ КИБЕРБЕЗОПАСНОСТИ И ЦИФРОВЫХ ТЕХНОЛОГИЙ
КАФЕДРА КБ-14 «ЦИФРОВЫЕ ТЕХНОЛОГИИ ОБРАБОТКИ ДАННЫХ»
РАЗРАБОТКА СЕРВЕРНОЙ ЧАСТИ ОРГАНИЗАЦИИ
ЗДРАВООХРАНЕНИЯ С ИСПОЛЬЗОВАНИЕМ
РАСПРЕДЕЛЕННОЙ БАЗЫ ДАННЫХ
ВЫПОЛНИЛ: СТУДЕНТ БСБО-04-19
РУКОВОДИТЕЛЬ:
СЕМАК РУСЛАН ДМИТРИЕВИЧ
Д.Т.Н НИКОЛЬСКИЙ СЕРГЕЙ НИКОЛАЕВИЧ
Москва 2023 г.

2.

Цель и задачи
Целью данной работы является повышение эффективности создания заказов в организации
здравоохранения путем автоматизации бизнес-процессов на основе создания серверной части
для взаимодействия с мобильным приложением и веб панелью администратора.
Задачи:
1. Изучение предметной области
2. Формирование требований к разрабатываемой системе
3. Выбор стека технологий
4. Проектирование приложения и архитектуры базы данных
2
5. Разработка программной реализации серверной части

3.

Требования к системе
1. Управление клиентами, персоналом
2. Ролевая система для разграничения прав персонала
3. Обработка данных из мобильного приложения
4. Обработка данных из веб-панели администратора
5. CMS (content management system) для управления картинками в мобильном
приложении
6. Телеграм-бот для уведомлений персонала
3

4.

Существующие аналоги. АСНА API.
АСНА
API
Разрабаты
ваемый
сервис
Управление заказами


Управление клиентами


Управление сотрудниками (с ролевой
системой)


Уведомления телеграмм


Управление контентом мобильного
приложения


4

5.

Диаграмма вариантов
использования
приложения (use-case)
5

6.

Основной стек технологий
Node.JS – платформа для запуска
кода JavaScript
PostgreSQL – реляционная база
данных
TypeScript – язык программирования,
добавляющий типизацию в JavaScript
Git – система контроля версий
Nest.JS – фреймворк для разработки
Backend приложений на TypeScript
Gitlab CI – инструмент для
автоматизации сборки и
разворачивания приложения
6

7.

Безопасность сервера
1. JWT токены и AuthGuard (Nest.JS)
2. RBAC (Role-based access control) система и RoleGuard (Nest.JS)
3. Typeorm для PostgreSQL (no SQL-injections)
4. Nest.JS Throttler Module (Rate Limiter)
7

8.

Пример работы распределенной базы
данных (мобильное приложение)
8

9.

Пример работы
распределенной
базы данных
(веб-панель)
9

10.

Swagger
10

11.

Архитектура БД
11

12.

Телеграм-бот
1. Создание нового администратора
2. Удаление администратора
3. Создание нового заказа клиентом
4. Заявка на обратный звонок от клиента
12

13.

Gitlab CI и Git Flow
13

14.

NGINX
14

15.

Заключение
Были выполнены следующие поставленные задачи:
1. Была изучена предметная область
2. Сформированы требования к разрабатываемой системе
3. Выбран стек технологий
4. Спроектирована архитектура приложения и структура базы данных
5. Разработана программная реализация серверной части
15

16.

Спасибо за внимание
16
English     Русский Правила