|
@@ -0,0 +1,163 @@
|
|
|
|
+Государственное бюджетное профессиональное образовательное учреждение
|
|
|
|
+ <<Нижегородский Губернский колледж>>
|
|
|
|
+ ОТЧЕТ
|
|
|
|
+ Разработка серверной части приложения
|
|
|
|
+ МДК 01.03 Разработка мобильных приложений
|
|
|
|
+
|
|
|
|
+Руководитель: ____________________________Ю.С. Мамшева 19.10.2024г.
|
|
|
|
+
|
|
|
|
+Студент: ________________________________И.А. Большаков 19.10.2024г.
|
|
|
|
+
|
|
|
|
+Специальность, группа: 09.02.07,41П
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ г. Нижний Новгород
|
|
|
|
+ 2024г.
|
|
|
|
+ Описание выбранной базы данных для серверной части
|
|
|
|
+ В качестве хранилища данных серверной части была выбрана Supabase.
|
|
|
|
+Использование Supabase при разработке мобильных приложений может предложить множество преимуществ, особенно для разработчиков, которым нужен функционал полноценной backend-платформы. Вот несколько ключевых плюсов:
|
|
|
|
+ Быстрая интеграция и простота использования
|
|
|
|
+ Supabase предоставляет готовый набор инструментов, который легко интегрируется в мобильные приложения через SDK и REST API. Это значительно упрощает процесс подключения backend-функционала.
|
|
|
|
+ Не требует ручного развертывания и настройки серверов, что позволяет разработчикам сосредоточиться на функционале приложения, а не инфраструктуре.
|
|
|
|
+ Реализованная база данных на основе PostgreSQL
|
|
|
|
+ Supabase использует PostgreSQL как основную базу данных, что обеспечивает надежность, производительность и масштабируемость.
|
|
|
|
+ Возможность использования SQL-запросов напрямую, что дает больше контроля и гибкости в работе с данными.
|
|
|
|
+ Реальное время
|
|
|
|
+ Поддержка реального времени: Supabase предоставляет возможность отправки данных и обновлений в реальном времени. Это особенно полезно для чатов, лайв-фидов, уведомлений и других функций, требующих мгновенной синхронизации данных между клиентами.
|
|
|
|
+ Авторизация и аутентификация
|
|
|
|
+ Встроенные решения для управления пользователями: Supabase поддерживает регистрацию, вход через соцсети (OAuth), управление ролями и разрешениями. Это экономит время на разработке собственного механизма аутентификации.
|
|
|
|
+ Безопасность пользователей обеспечивается благодаря встроенной поддержке JWT и других методов защиты данных.
|
|
|
|
+
|
|
|
|
+ Автоматическая генерация API
|
|
|
|
+ Supabase автоматически создает RESTful API на основе вашей схемы базы данных. Это упрощает доступ к данным и делает backend более доступным для различных платформ.
|
|
|
|
+ Можно гибко настроить права доступа к данным через роль-базированное управление.
|
|
|
|
+ Функции хранения файлов
|
|
|
|
+ Supabase предоставляет возможность хранения файлов (Supabase Storage), что позволяет хранить изображения, видео, документы и другие типы файлов. Это удобно для приложений, где требуется хранить пользовательские медиафайлы.
|
|
|
|
+ Расширяемость и функции
|
|
|
|
+ Возможность писать серверные функции и триггеры на языке SQL и PL/pgSQL. Это полезно для автоматизации бизнес-логики и создания более сложных функциональных решений.
|
|
|
|
+ Легко интегрируется с другими сторонними сервисами и API.
|
|
|
|
+ Отсутствие необходимости в управлении инфраструктурой
|
|
|
|
+ Supabase предлагает полностью управляемую инфраструктуру, что позволяет избежать забот о масштабировании серверов, настройке базы данных и других задачах, связанных с поддержанием backend.
|
|
|
|
+ Открытый исходный код
|
|
|
|
+ Supabase -- это платформа с открытым исходным кодом, что предоставляет разработчикам больше свободы в изменении и адаптации сервиса под свои нужды.
|
|
|
|
+ Сообщество и вклад разработчиков в Supabase постоянно растет, что позволяет платформе развиваться и внедрять новые функции.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Описание основных сущностей
|
|
|
|
+ Таблица 1
|
|
|
|
+ Список сущностей
|
|
|
|
+ №
|
|
|
|
+ Название
|
|
|
|
+ Назначение
|
|
|
|
+ 1
|
|
|
|
+Users
|
|
|
|
+Информация о клиенте
|
|
|
|
+ 2
|
|
|
|
+GenderTable
|
|
|
|
+Информация о записи
|
|
|
|
+ 3
|
|
|
|
+RoleTabler
|
|
|
|
+Описание состава сотрудников салона
|
|
|
|
+ 4
|
|
|
|
+Plants
|
|
|
|
+Описание должности
|
|
|
|
+ 5
|
|
|
|
+UserAndPlants
|
|
|
|
+Информация о списке услуг и их ценах
|
|
|
|
+
|
|
|
|
+ Для каждой таблицы (сущности) приведем описание ее атрибутов. Атрибут на физическом уровне - это колонки таблицы и выражает определенное свойство объекта.
|
|
|
|
+ Таблица 2
|
|
|
|
+ Список атрибутов таблицы <<Users>>
|
|
|
|
+ Ключевое поле
|
|
|
|
+ Название
|
|
|
|
+ Назначение
|
|
|
|
+ПК
|
|
|
|
+(первичный ключ)
|
|
|
|
+Код клиента
|
|
|
|
+Ключевое поле, предназначенное для однозначной идентификации каждой записи в таблице. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждому пользователю.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Name
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BirthDate
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+GenderID
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Таблица 3
|
|
|
|
+ Список атрибутов таблицы <<Plants>>
|
|
|
|
+ Ключевое поле
|
|
|
|
+ Название
|
|
|
|
+ Назначение
|
|
|
|
+ПК
|
|
|
|
+(первичный ключ)
|
|
|
|
+Код растения
|
|
|
|
+Ключевое поле, предназначенное для однозначной идентификации каждой записи в таблице. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждому растению.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Title
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Description
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Recommendations
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+GrowingSteps
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Таблица 4
|
|
|
|
+ Список атрибутов таблицы <<GenderTable>>
|
|
|
|
+ Ключевое поле
|
|
|
|
+ Название
|
|
|
|
+ Назначение
|
|
|
|
+ПК
|
|
|
|
+(первичный ключ)
|
|
|
|
+Код пола
|
|
|
|
+Ключевое поле, предназначенное для однозначной идентификации каждой записи в таблице. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждому полу.
|
|
|
|
+
|
|
|
|
+GebderTitle
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Таблица 5
|
|
|
|
+ Список атрибутов таблицы <<RoleTable>>
|
|
|
|
+ Ключевое поле
|
|
|
|
+ Название
|
|
|
|
+ Назначение
|
|
|
|
+ПК
|
|
|
|
+(первичный ключ)
|
|
|
|
+Код роли
|
|
|
|
+Ключевое поле, предназначенное для однозначной идентификации каждой записи в таблице. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждой роли.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+RoleTitle
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Таблица 6
|
|
|
|
+ Список атрибутов таблицы <<UserAndPlants>>
|
|
|
|
+ Ключевое поле
|
|
|
|
+ Название
|
|
|
|
+ Назначение
|
|
|
|
+
|
|
|
|
+Код растения
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Код пользователя
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Рисунок 1 - ER диаграмма
|