From d54cac21aceb28dec5fc9b6b582262ce3131fc10 Mon Sep 17 00:00:00 2001 From: victoriavodyana <145166568+victoriavodyana@users.noreply.github.com> Date: Sun, 26 May 2024 20:06:32 +0300 Subject: [PATCH] Delete edu-dis-labs directory --- edu-dis-labs/LICENSE | 16 - edu-dis-labs/README.md | 62 - edu-dis-labs/docs/README.md | 26 - edu-dis-labs/docs/api/README.md | 0 edu-dis-labs/docs/conclusion/README.md | 9 - edu-dis-labs/docs/design/README.md | 130 - .../docs/design/relational_scheme.png | Bin 49754 -> 0 bytes edu-dis-labs/docs/intro/README.md | 12 - edu-dis-labs/docs/requirements/README.md | 4 - .../docs/requirements/stakeholders-needs.md | 281 - .../docs/requirements/state-of-the-art.md | 221 - edu-dis-labs/docs/software/README.md | 176 - edu-dis-labs/docs/test/README.md | 34 - edu-dis-labs/docs/test/image-1.png | Bin 93259 -> 0 bytes edu-dis-labs/docs/test/image-2.png | Bin 85895 -> 0 bytes edu-dis-labs/docs/test/image-3.png | Bin 85481 -> 0 bytes edu-dis-labs/docs/test/image-4.png | Bin 67466 -> 0 bytes edu-dis-labs/docs/test/image-5.png | Bin 79785 -> 0 bytes edu-dis-labs/docs/test/image-6.png | Bin 101357 -> 0 bytes edu-dis-labs/docs/test/image.png | Bin 33995 -> 0 bytes edu-dis-labs/docs/use-cases/README.md | 504 - edu-dis-labs/jsdoc.json | 23 - edu-dis-labs/package-lock.json | 16508 ---------------- edu-dis-labs/package.json | 26 - edu-dis-labs/publish.sh | 25 - edu-dis-labs/src/js/1.js | 1 - edu-dis-labs/src/js/README.md | 3 - .../__pycache__/serverSurvey.cpython-312.pyc | Bin 4153 -> 0 bytes edu-dis-labs/src/restful-server/flask | 0 .../src/restful-server/serverSurvey.py | 62 - edu-dis-labs/src/sql/README.md | 3 - edu-dis-labs/src/sql/script.sql | 107 - edu-dis-labs/test/Readme.md | 0 edu-dis-labs/utils/table-generator/convert.py | 305 - .../utils/table-generator/list-exceptions.sh | 5 - .../table-generator/update-activities.py | 8 - .../table-generator/update-activities.sh | 13 - .../utils/table-generator/update-tables.py | 8 - .../utils/table-generator/update-tables.sh | 13 - edu-dis-labs/utils/table-generator/updater.py | 26 - .../use-cases/account.create.uc | 10 - .../use-cases/account.delete.uc | 9 - .../use-cases/account.modify.uc | 10 - .../use-cases/survey.link.create.uc | 12 - .../use-cases/survey.link.delete.uc | 12 - .../use-cases/survey.link.modify.uc | 13 - .../use-cases/user.create_survey.uc | 12 - .../use-cases/user.delete_survey.uc | 11 - .../use-cases/user.get_survey_result.uc | 9 - .../table-generator/use-cases/user.login.uc | 12 - .../table-generator/use-cases/user.logout.uc | 7 - .../use-cases/user.modify_survey.uc | 12 - .../use-cases/user.stat_survey.uc | 9 - .../use-cases/user.take_anon_survey.uc | 11 - .../use-cases/user.take_named_survey.uc | 12 - 55 files changed, 18772 deletions(-) delete mode 100644 edu-dis-labs/LICENSE delete mode 100644 edu-dis-labs/README.md delete mode 100644 edu-dis-labs/docs/README.md delete mode 100644 edu-dis-labs/docs/api/README.md delete mode 100644 edu-dis-labs/docs/conclusion/README.md delete mode 100644 edu-dis-labs/docs/design/README.md delete mode 100644 edu-dis-labs/docs/design/relational_scheme.png delete mode 100644 edu-dis-labs/docs/intro/README.md delete mode 100644 edu-dis-labs/docs/requirements/README.md delete mode 100644 edu-dis-labs/docs/requirements/stakeholders-needs.md delete mode 100644 edu-dis-labs/docs/requirements/state-of-the-art.md delete mode 100644 edu-dis-labs/docs/software/README.md delete mode 100644 edu-dis-labs/docs/test/README.md delete mode 100644 edu-dis-labs/docs/test/image-1.png delete mode 100644 edu-dis-labs/docs/test/image-2.png delete mode 100644 edu-dis-labs/docs/test/image-3.png delete mode 100644 edu-dis-labs/docs/test/image-4.png delete mode 100644 edu-dis-labs/docs/test/image-5.png delete mode 100644 edu-dis-labs/docs/test/image-6.png delete mode 100644 edu-dis-labs/docs/test/image.png delete mode 100644 edu-dis-labs/docs/use-cases/README.md delete mode 100644 edu-dis-labs/jsdoc.json delete mode 100644 edu-dis-labs/package-lock.json delete mode 100644 edu-dis-labs/package.json delete mode 100644 edu-dis-labs/publish.sh delete mode 100644 edu-dis-labs/src/js/1.js delete mode 100644 edu-dis-labs/src/js/README.md delete mode 100644 edu-dis-labs/src/restful-server/__pycache__/serverSurvey.cpython-312.pyc delete mode 100644 edu-dis-labs/src/restful-server/flask delete mode 100644 edu-dis-labs/src/restful-server/serverSurvey.py delete mode 100644 edu-dis-labs/src/sql/README.md delete mode 100644 edu-dis-labs/src/sql/script.sql delete mode 100644 edu-dis-labs/test/Readme.md delete mode 100644 edu-dis-labs/utils/table-generator/convert.py delete mode 100644 edu-dis-labs/utils/table-generator/list-exceptions.sh delete mode 100644 edu-dis-labs/utils/table-generator/update-activities.py delete mode 100644 edu-dis-labs/utils/table-generator/update-activities.sh delete mode 100644 edu-dis-labs/utils/table-generator/update-tables.py delete mode 100644 edu-dis-labs/utils/table-generator/update-tables.sh delete mode 100644 edu-dis-labs/utils/table-generator/updater.py delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/account.create.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/account.delete.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/account.modify.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/survey.link.create.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/survey.link.delete.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/survey.link.modify.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/user.create_survey.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/user.delete_survey.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/user.get_survey_result.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/user.login.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/user.logout.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/user.modify_survey.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/user.stat_survey.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/user.take_anon_survey.uc delete mode 100644 edu-dis-labs/utils/table-generator/use-cases/user.take_named_survey.uc diff --git a/edu-dis-labs/LICENSE b/edu-dis-labs/LICENSE deleted file mode 100644 index 02a4e25..0000000 --- a/edu-dis-labs/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -ECL 2.0 - -Copyright (c) 2021 Andrey Boldak - -Licensed under the -Educational Community License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may -obtain a copy of the License at - -https://opensource.org/licenses/ECL-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an "AS IS" -BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express -or implied. See the License for the specific language governing -permissions and limitations under the License. diff --git a/edu-dis-labs/README.md b/edu-dis-labs/README.md deleted file mode 100644 index fc3624c..0000000 --- a/edu-dis-labs/README.md +++ /dev/null @@ -1,62 +0,0 @@ -# Шаблон репозиторію для виконання лабораторних робіт з дисципліни "Розподілені інформаційні системи" - -## Як використовувати - -В цьому репозиторії знаходиться шаблон для виконання лабораторних робіт. - -Для виконання лабораторних робіт необхідно зробити ```fork``` цього репозіторію, склонувати вже власний репозіторій та розміщувати документацію у відповідних діректоріях ```./docs```. - -В цьому файлі необхідно вказати назву проекту. Коротку загальну характеристику -проекту, контактні дані виконавців. - - -Шаблон публікування підготовлено з використанням [VuePress](https://vuepress.vuejs.org/), та стартера -[FriendlyUser/vuepress-theme-cool-starter](https://github.com/FriendlyUser/vuepress-theme-cool-starter). - -Щоб опублікувати проект у Github Pages, налаштовуємо Github Pages (гілка ```gh-pages```), змінюємо файл ```./publish.sh``` - -```sh {24} - -#!/usr/bin/env sh - -# abort on errors -set -e - -# build -npm run docs:build - -# navigate into the build output directory -cd docs/.vuepress/dist - -# if you are deploying to a custom domain -# echo 'www.example.com' > CNAME - -git init -git add -A -git commit -m 'deploy' - -# if you are deploying to https://.github.io -# git push -f git@github.com:boldak/.github.io.git master - -# if you are deploying to https://.github.io/ -git push -f https://github.com//dis-edu.git master:gh-pages - -cd - - -``` - -Потім запускаємо - -```bash - npm run publish -``` - -Для відлагодження документації в локальному режимі запускаємо - -```bash - npm run docs:dev -``` - -Доступ до локально опублікованої версії документації [http://localhost:3030](http://localhost:3030) - -***Happy learning! Happy coding!*** diff --git a/edu-dis-labs/docs/README.md b/edu-dis-labs/docs/README.md deleted file mode 100644 index 22aeb05..0000000 --- a/edu-dis-labs/docs/README.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -home: true -actionText: Розпочати → -actionLink: /intro/ - -footer: "ECL 2.0 Licensed | Copyright © 2024 [Your Name]" ---- - -**Виконала:** - -*студентка 2-го курсу, групи ІО-23:* - -*Вікторія ВОДЯНА [vodyanayaviktoria@gmail.com, [@victoriavodyana](https://t.me/victoriavodyana)]* - - -**Керівник** - -*доцент кафедри ОТ ФІОТ, к.т.н., доцент* **Андрій БОЛДАК** - -[НТУУ "КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО](https://kpi.ua/) - -[Факультет інформатики та обчислювальної техніки](https://fiot.kpi.ua/) - -[Кафедра обчислювальної техніки](https://comsys.kpi.ua/) - -Київ diff --git a/edu-dis-labs/docs/api/README.md b/edu-dis-labs/docs/api/README.md deleted file mode 100644 index e69de29..0000000 diff --git a/edu-dis-labs/docs/conclusion/README.md b/edu-dis-labs/docs/conclusion/README.md deleted file mode 100644 index f4dd368..0000000 --- a/edu-dis-labs/docs/conclusion/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Висновки - -У цьому проєкті була використана локальна база даних для зберігання інформації. Розроблена серверна частина надає RESTful-інтерфейс для доступу до цієї бази даних. Цей інтерфейс може використовуватися для взаємодії з таблицею питань (survey), що дозволяє здійснювати операції читання, запису, оновлення та видалення даних через HTTP-запити. Такий підхід забезпечує зручний та ефективний спосіб взаємодії з базою даних і відкриває широкі можливості для розвитку та розширення функціональності системи. - - -Технічне рішення, що покладене в основу проєкту, полягає у використанні мови програмування Python та веб-фреймворку Flask для створення RESTful сервісу. Це дозволило забезпечити швидку реалізацію системи та забезпечити її продуктивність та масштабованість. - -Отримана система дозволяє автоматизувати процес збору та аналізу відповідей, що значно знижує час та ресурси, необхідні для проведення таких опитувань. Завдяки використанню сучасних технологій, таких як Flask, система має високу продуктивність та може легко масштабуватися відповідно до потреб користувачів. - diff --git a/edu-dis-labs/docs/design/README.md b/edu-dis-labs/docs/design/README.md deleted file mode 100644 index 47271f4..0000000 --- a/edu-dis-labs/docs/design/README.md +++ /dev/null @@ -1,130 +0,0 @@ -# Проєктування бази даних - -## BE модель - -
- -@startuml - -entity Account <> -entity Account.username <> -entity Account.password <> - -entity Survey <> -entity Survey.name <> -entity Survey.duration <> -entity Survey.isPaused <> -entity Survey.isNamed <> - -entity Question <> -entity Question.text <> - -entity Responce <> -entity Responce.value <> - -entity Link <> -entity Link.usageLimit <> -entity Link.responceLimit <> -entity Link.uses <> -entity Link.responces <> -entity Link.path <> - -Account.username --* Account -Account.password --* Account - -Survey.name --* Survey -Survey.duration --* Survey -Survey.isPaused --* Survey -Survey.isNamed --* Survey - -Link.usageLimit -u-* Link -Link.responceLimit -u-* Link -Link.uses --* Link -Link.responces --* Link -Link.path -u-* Link - -Responce.value -u-* Responce - -Question.text -u-* Question - -Account "1,1" -- "0,*" Survey -Survey "1,1" -- "0,*" Question -Question "1,1" -r- "0,*" Responce -Account "0,1" -r- "0,*" Responce -Link "0,*" -- "1,1" Survey - -@enduml - -
- -## ER-модель - -
- -@startuml - -entity Account <> { - id:INT - username:CHAR(64) - password:CHAR(256) -} - -entity Responce <> { - id:INT - value:CHAR(16384) -} - -entity Question <> { - id:INT - text:CHAR(256) -} - -entity Survey <> { - id:INT - name:CHAR(256) - duration:CHAR(256) - isPaused:BOOLEAN - isNamed:BOOLEAN -} - -entity Link <> { - id:INT - uses:INT - responces:INT - usageLimit:INT - responceLimit:INT - path:CHAR(32) -} - -Responce "0,*" --> "1,1" Question -Question "0,*" --> "1,1" Survey -Survey "0,*" --> "1,1" Account -Link "0,*" --> "1,1" Survey -Responce "0,*" --> "0,1" Account - -@enduml - -
- -## Реляційна схема - -
- -![relational_schema](./relational_scheme.png) - -
diff --git a/edu-dis-labs/docs/design/relational_scheme.png b/edu-dis-labs/docs/design/relational_scheme.png deleted file mode 100644 index 0df628835e41c73ed9fb431f56b66c7a3e4edd18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49754 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.002 Ідентичний псевдонім вже існує | -| Основний сценарій | 1. Користувач вводить бажаний псевдонім у поле вводу псевдоніму
2. Користувач вводить пароль у поле вводу паролю
3. Користувач натискає на кнопку створення облікового запису
4. Система створює обліковий запис користувача (можливі 001.001, 001.002) | - -| ID | ACCOUNT.DELETE | -|:-----------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Видалити обліковий запис | -| Учасники | Користувач, система | -| Передумови | Користувач ідентифікований в системі | -| Результат | Відсутність облікового запису користувача | -| Виключні ситуації | 001.005 Користувач не ідентифікований | -| Основний сценарій | 1. Користувач натискає на кнопку видалення облікового запису
2. Система виводить кнопку-запит на підтвердження видалення облікового запису
3. Користувач натискає на кнопку підтвердження видалення облікового запису
4. Система видаляє обліковий запис (можлива 001.005) | - -| ID | ACCOUNT.MODIFY | -|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Змінити властивості облікового запису | -| Учасники | Користувач, система | -| Передумови | Користувач ідентифікований в системі | -| Результат | Зміна властивостей облікового запису | -| Виключні ситуації | 001.005 Користувач не ідентифікований | -| Основний сценарій | 1. Користувач натискає на кнопку редагування облікового запису
2. Система виводить інтерфейс для редагування облікового запису (можлива 001.005)
3. Користувач вказує бажані зміни властивостей облікового запису
4. Користувач натискає на кнопку внесення змін до властивостей облікового запису
5. Система змінює властивості облікового запису | - -| ID | SURVEY.LINK.CREATE | -|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Додати посилання на опитування | -| Учасники | Користувач, система | -| Передумови | Користувач авторизований у системі | -| Результат | Нове посилання на опитування | -| Виключні ситуації | 001.005 Користувач не ідентифікований
001.006 Запитане опитування не існує
001.008 Користувач не є власником опитування | -| Основний сценарій | 1. Користувач натискає кнопку створення посилання на опитування
2. Система виводить налаштування для нового посилання (можливі 001.005, 001.006, 001.008)
3. Користувач вводить налаштування для нового посилання
4. Користувач натискає на кнопку створення посилання
5. Система створює нове посилання | - -| ID | SURVEY.LINK.DELETE | -|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Видалити посилання на опитування | -| Учасники | Користувач, система | -| Передумови | Користувач авторизований у системі | -| Результат | Видалення посилання на опитування | -| Виключні ситуації | 001.005 Користувач не ідентифікований
001.006 Запитане опитування не існує
001.008 Користувач не є власником опитування
001.009 Запитане посилання на існує | -| Основний сценарій | 1. Користувач натискає кнопку видалення посилання
2. Система виводить кнопку підтвердження видалення посилання
3. Користувач натискає на кнопку підтвердження видалення посилання
4. Система видаляє посилання (можливі 001.005, 001.006, 001.008, 001.009) | - -| ID | SURVEY.LINK.MODIFY | -|:-----------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Змінити властивості посилання на опитування | -| Учасники | Користувач, система | -| Передумови | Користувач авторизований у системі | -| Результат | Зміна властивостей посилання на опитування | -| Виключні ситуації | 001.005 Користувач не ідентифікований
001.006 Запитане опитування не існує
001.008 Користувач не є власником опитування
001.009 Запитане посилання на існує | -| Основний сценарій | 1. Користувач натискає кнопку редагування властивостей посилання
2. Система виводить налаштування для обраного посилання (можливі 001.005, 001.006, 001.008, 001.009)
3. Користувач вводить юажані зміни властивостей посилання
4. Користувач натискає на кнопку збереження властиностей посилання
5. Система змінює властивості посилання | - -| ID | USER.CREATE_SURVEY | -|:-----------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Створити опитування | -| Учасники | Користувач, система | -| Передумови | Користувач ідентифікований в системі | -| Результат | Створене опитування | -| Виключні ситуації | 001.005 Користувач не ідентифікований
001.007 Користувач ввів неприпустимі символи в назві опитування | -| Основний сценарій | 1. Користувач переходить на сторінку створення опитування (можлива 001.005)
2. Система виводить інтерфейс створення опитування
3. Користувач задає інформацію про запитання та тип опитування
4. Користувач натискає кнопку збереження опитування
5. Система створює опитування (можлива 001.007)
6. Система виводить посилання на проходження опитування | - -| ID | USER.DELETE_SURVEY | -|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Видалити опитування | -| Учасники | Користувач, система | -| Передумови | Користувач ідентифікований в системі, користувач є власником опитування | -| Результат | Відсутність опитування | -| Виключні ситуації | 001.005 Користувач не ідентифікований
001.006 Запитане опитування не існує
001.008 Користувач не є власником опитування | -| Основний сценарій | 1. Користувач натискає на кнопку видалення опитування
2. Система виводить запит на підтвердження видалення опитування
3. Користувач натискає на кнопку підтвердження видалення опитування
4. Система видаляє опитування (можливі 001.005, 001.006, 001.008) | - -| ID | USER.GET_SURVEY_RESULT | -|:-----------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Переглянути відповіді на опитування | -| Учасники | Користувач, система | -| Передумови | Користувач ідентифікований в системі, користувач є власником опитування | -| Результат | Інформація про відповіді на опитування | -| Виключні ситуації | 001.005 Користувач не ідентифікований
001.006 Запитане опитування не існує
001.008 Користувач не є власником опитування | -| Основний сценарій | 1. Користувач натискає на кнопку перегляду відповідей на опитування
2. Система виводить інформацію про відповіді на опитування (можливі 001.005, 001.006, 001.008) | - -| ID | USER.LOGIN | -|:-----------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Пройти ідентифікацію в системі | -| Учасники | Користувач, система | -| Передумови | Користувач має обліковий запис | -| Результат | Користувач ідентифікований в системі | -| Виключні ситуації | 001.001 Користувач ввів заборонені символи в поле псевдоніму
001.003 Користувач ввів псевдонім, якого не існує в системі
001.004 Користувач ввів неправильний пароль до облікового запису | -| Основний сценарій | 1. Користувач вводить псевдонім у поле вводу псевдоніму
2. Користувач вводить пароль у поле вводу паролю
3. Користувач натискає кнопку ідентифікації
4. Система ідентифікує користувача (можливі 001.001, 001.003, 001.004) | - -| ID | USER.LOGOUT | -|:-----------------:|:-------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Скинути дані про ідентифікацію в системі | -| Учасники | Користувач, система | -| Передумови | Користувач ідентифікований в системі | -| Результат | Користувач не ідентифікований в системі | -| Виключні ситуації | 001.005 Користувач не ідентифікований | -| Основний сценарій | 1. Користувач натискає на кнопку виходу з облікового запису
2. Система скидає інформацію про ідентифікацію користувача (можлива 001.005) | - -| ID | USER.MODIFY_SURVEY | -|:-----------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Редагувати опитування | -| Учасники | Користувач, система | -| Передумови | Користувач ідентифікований в системі, користувач є власником опитування | -| Результат | Змінене опитування | -| Виключні ситуації | 001.005 Користувач не ідентифікований
001.006 Запитане опитування не існує
001.008 Користувач не є власником опитування | -| Основний сценарій | 1. Користувач переходить на сторінку редагування опитування
2. Система виводить інтерфейс редагування опитування (можливі 001.005, 001.006, 001.008)
3. Користувач задає інформацію про зміни в опитуванні
4. Користувач натискає кнопку збереження змін в опитуванні
5. Система змінює опитування | - -| ID | USER.STAT_SURVEY | -|:-----------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Переглянути властивості опитування | -| Учасники | Користувач, система | -| Передумови | Користувач ідентифікований в системі, користувач є власником опитування | -| Результат | Інформація про властивості опитування | -| Виключні ситуації | 001.005 Користувач не ідентифікований
001.006 Запитане опитування не існує
001.008 Користувач не є власником опитування | -| Основний сценарій | 1. Користувач натискає на кнопку перегляду інформації про опитування
2. Система виводить інформацію про опитування (можливі 001.005, 001.006, 001.008) | - -| ID | USER.TAKE_ANON_SURVEY | -|:-----------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Пройти анонімне опитування | -| Учасники | Користувач, система | -| Передумови | Відсутні | -| Результат | Запис відповідей на опитування | -| Виключні ситуації | 001.006 Запитане опитування не існує | -| Основний сценарій | 1. Користувач переходить на сторінку проходження опитування
2. Система виводить перелік запитань опитування (можлива 001.006)
3. Користувач вводить відповіді на запитання
4. Користувач натискає кнопку надсилання відповідей
5. Система записує відповіді на опитування (можлива 001.006)
6. Система виводить прощальне повідомлення | - -| ID | USER.TAKE_NAMED_SURVEY | -|:-----------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Назва | Пройти поіменне опитування | -| Учасники | Користувач, система | -| Передумови | Користувач ідентифікований в системі | -| Результат | Запис відповідей на опитування та відомості про користувача | -| Виключні ситуації | 001.005 Користувач не ідентифікований
001.006 Запитане опитування не існує | -| Основний сценарій | 1. Користувач переходить на сторінку проходження опитування
2. Система виводить перелік запитань опитування (можливі 001.005, 001.006)
3. Користувач вводить відповіді на запитання
4. Користувач натискає кнопку надсилання відповідей
5. Система записує відповіді на опитування та відомості про користувача (можлива 001.006)
6. Система виводить прощальне повідомлення | - -## Короткий огляд продукту - -
- -
- -Xpertise - це система для проведення будь-яких опитувань. -Вона дозволяє користувачам створювати опитування, збирати відповіді на них та переглядати докладну й узагальнену статистику. -У користувачів є можливість створювати не лише анонімні, але й поіменні опитування, тому платформа також задовольнить потреби в проведенні голосувань для прийняття спільних рішень у командах. - -## Функціональність - -Наша система спрямована, в першу чергу, на взаємодію з користувачами. - -***Користувач** - це особа, що взаємодіє із системою.* - -Cистема розділяє користувачів на дві категорії: -- гість -- авторизований користувач - -***Гість** - це користувач, що не пройшов ідентифікацію в системі. Такого користувача не можна зіставити з жодним обліковим записом.* - -Гість може: -- створити обліковий запис -- пройти ідентифікацію в системі -- пройти анонімне опитування - -***Зареєстрований користувач** - це користувач, котрий успішно пройшов ідентифікацію в системі. Такого користувача можна однозначно зіставити з обліковим записом, що наявний у системі.* - -Зареєстрований користувач може: -- редагувати властивості свого облікового запису -- видалити свій обліковий запис -- скинути дані про ідентицікацію в системі -- створити опитування -- відредагувати своє опитування -- видалити своє опитування -- створити посилання на своє опитування -- редагувати властивості посилання на своє опитування -- видалити посилання на своє опитування -- призупинити своє опитування -- продовжити своє опитування -- переглянути властивості свого опитування -- переглянути результати свого опитування -- пройти анонімне опитування -- пройти поіменне опитування - -*[Респондент](https://slovnyk.ua/index.php?swrd=%D1%80%D0%B5%D1%81%D0%BF%D0%BE%D0%BD%D0%B4%D0%B5%D0%BD%D1%82) - той, хто відповідає на питання анкети; опитуваний.* - -***Опитування** - це перелік запитань, кожне з яких передбачає обов'язкову або необов'язкову відповідь. Кожна відповідь має визначений тип.* - -***Анонімне опитування** - це опитування, відповідь на яке може не містити інформації про обліковий запис респондента (*респондент все одно може вирішити надати таку інформацію).* - -***Поіменне опитування** - це опитування, відповідь на яке обов'язково містить дані про обліковий запис респондента.* - -## Практичність - -- Наявність зручного інструменту для побудови опитувань -- Можливість легко замінити брендинг та кольорову палітру -- Перегляд аналітики в реальному часі -- Формування статистики відповідей у зручному інтерфейсі -- Можливість експорту результатів опитування через API -- Підтримка програмування реакцій на події (hooks) - -## Надійність - -- Шифрування з'єднань (TLS) -- Автоматичне резервне копіювання -- Автоматичне відновлення з резервних копій - -## Продуктивність - -- Низьке використання мережі базовим протоколом -- Незалежність від сторонніх веб-хостингів - -## Експлуатаційна придатність - -- Наявність докладної документації для користувачів, адміністраторів та розробників -- Доступність онлайн-підтримки diff --git a/edu-dis-labs/docs/requirements/state-of-the-art.md b/edu-dis-labs/docs/requirements/state-of-the-art.md deleted file mode 100644 index 46d36ac..0000000 --- a/edu-dis-labs/docs/requirements/state-of-the-art.md +++ /dev/null @@ -1,221 +0,0 @@ -# Розроблення вимог до системи - -## Вступ -У даному розділі проводиться аналіз предметної області, пов'язаної з системою організації та управління експертними опитуваннями. Представлені такі категорії: - -- [Основні визначення](#основні-визначення), котрі можна зустріти в сфері експертних опитувань -- [Підходи та способи вирішення завдання](#підходи-та-способи-вирішення-завдання) опитування експертів -- [Порівняльна характеристика наявних засобів вирішення завдання](#порівняльна-характеристика-існуючих-засобів-вирішення-завдання) опитування експертів -- [Висновки](#висновки) щодо доцільності розробки нової системи -- [Література](#література), де наведені посилання на джерела інформації - -## Основні визначення -### Технічні визначення -**База даних** [](https://uk.wikipedia.org/wiki/База_даних) - -База даних (англ. database) – сукупність даних, організованих відповідно до концепції, яка описує характеристику цих даних і взаємозв'язки між їх елементами; ця сукупність підтримує щонайменше одну з областей застосування (за стандартом ISO/IEC 2382:2015). В загальному випадку база даних містить схеми, таблиці, подання, збережені процедури та інші об'єкти. Дані у базі організовують відповідно до моделі організації даних. Таким чином, сучасна база даних, крім самих даних, містить їх опис та може містити засоби для їх обробки. - -**SQL** [](https://uk.wikipedia.org/wiki/SQL) - -SQL (англ. Structured query language — мова структурованих запитів) — декларативна мова програмування для взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керування реляційними БД, створення схеми бази даних та її модифікації, системи контролю за доступом до бази даних. Сама по собі SQL не є ані системою керування базами даних, ані окремим програмним продуктом. На відміну від дійсних мов програмування (C або Pascal), SQL може формувати інтерактивні запити або, бувши вбудованою в прикладні програми, виступати як інструкції для керування даними. Окрім цього, стандарт SQL містить функції для визначення зміни, перевірки та захисту даних. - -### Загальні визначення -**Опитування** [](https://uk.wikipedia.org/wiki/Опитування) - -Опи́тування — це метод збору соціологічної інформації про досліджуваний об'єкт під час безпосереднього (усне опитування, інтерв'ю) або опосередкованого (письмове опитування, анкетування) спілкування того хто опитує з респондентом. Опитування бувають соціологічні, політологічні, маркетингові, психологічні — залежно від предмету дослідження. Залежно від кількості опитуваних (вибірки, вибіркової сукупності) вони також можуть бути масовими, вибірковими, індивідуальними, експертними. Також використовується для вимірювання «громадської думки» з різних питань. - -**Експерт** [](https://ela.kpi.ua/server/api/core/bitstreams/8a8030cf-bfc1-4586-b197-1c7e3bf02700/content) - -Експертом називають людину, що є фахівцем (спеціалістом) у певній предметній області (ПО) і може пояснити свої дії та міркування. Предметною областю називають будь-яку галузь діяльності людини, наприклад, “Технічні засоби автоматизації”, “Охорона довкілля”, “Системи штучного інтелекту” тощо. -**Експертне опитування** -Експертне опитування або опитування фахівців — це особливий метод маркетингового (і/або соціологічного) дослідження. В рамках такого опитування досліджувана тема обговорюється з експертами, компетентними в даній сфері. -### Методи експертного опитування -#### Активні методи -Активні методи передбачають спілкування між організаторами та експертами. Можливі два напрямки активної роботи з експертами: індивідуальна робота з експертом (анонімна чи відкрита) та робота з групою в цілому. -*** -#### До індивідуальних активних методів належать анкетування, інтерв’ю, діалог з експертом, ігри з експертом. - -**Інтерв’ю** [](https://ela.kpi.ua/server/api/core/bitstreams/8a8030cf-bfc1-4586-b197-1c7e3bf02700/content) - -Інтерв’ю – це форма спілкування між дослідником та експертом, при якій дослідник ставить заздалегідь підготовлену чергу запитань. Можна замінити ці запитання на інші у відповідності до ситуації. - -**Діалог** [](https://ela.kpi.ua/server/api/core/bitstreams/8a8030cf-bfc1-4586-b197-1c7e3bf02700/content) - -Діалог – це метод отримання знань у формі бесіди між дослідником та експертом, коли немає жорстко регламентованого плану проведеня і визначеного заздалегідь переліку запитань. - -**Ігри з експертом** [](https://ela.kpi.ua/server/api/core/bitstreams/8a8030cf-bfc1-4586-b197-1c7e3bf02700/content) - -Ігри з експертом (експертні ігри) – це експерименти, у яких фахівцю пропонують важливі ситуації з предметної області. Фахівець повинен запропонувати рішення по виходу з цих ситуацій на основі свого життєвого досвіду, спеціальних знань та уявлень. -*** -#### До методів активної роботи з групою в цілому належать методи круглого столу, мозкового штурму та рольові ігри. - -**Круглий стіл** [](https://ela.kpi.ua/server/api/core/bitstreams/8a8030cf-bfc1-4586-b197-1c7e3bf02700/content) - -“Круглий стіл” передбачає обговорення певної проблеми, у якому приймають участь експерти з однаковими правами. Задача дискусії – вивчити проблему всебічно, тому слід запрошувати експертів, які належать до різних наукових напрямків, мають різний вік, стать і т.ін. Цей метод не передбачає терміновості прийняття рішення. - -**Мозковий штурм** [](https://ela.kpi.ua/server/api/core/bitstreams/8a8030cf-bfc1-4586-b197-1c7e3bf02700/content) - -“Мозковий штурм (атака)” – один із найбільш поширених методів активізації думок. Його застосовують у тих випадках, коли потрібно знайти вирішення певної проблеми за дуже короткий час. Під час такого обговоренння кожний експерт повинен запропонувати свій шлях розвязання задачі або розвинути думку іншого учасника. - -**Рольові ігри** [](https://ela.kpi.ua/server/api/core/bitstreams/8a8030cf-bfc1-4586-b197-1c7e3bf02700/content) - -Рольові ігри (експертні ігри) – це експерименти, у яких колективу спеціалістів пропонують складні ситуації з предметної області. Спеціалісти у процесі відкритого обговорення приймають рішення про шляхи виходу з цих ситуацій. -*** -#### Пасивні методи -До пасивних методів належать спостереження за діяльністю експертів, запис їхніх міркувань у процесі роботи (так звані *“думки вголос”*), лекції, які вони можуть прочитати. [](https://ela.kpi.ua/server/api/core/bitstreams/8a8030cf-bfc1-4586-b197-1c7e3bf02700/content) - - -## Підходи та способи вирішення завдання - -[Методисти виділяють методи **заочного** та **очного** експертного опитування.](http://elbib.in.ua/vidi-ekspertnogo-opituvannya-metodologiya-ta-metodi-sotsiologichnih-doslidjen.html) - -До методів **заочного** опитування відносять: -- письмове опитування («збір думок»); -- анкетування; -- дельфійська техніка; - -До **очних** методів належать: -- «мозкова атака». - -Письмове опитування (або «збір думок») – вважається найпростішим методом заочного опитування експертів. Він полягає в тому, що експертам надають спеціально підготовлені опитувальні листи, в яких вони повинні викласти свою думку по суті поставлених питань. При складанні експертного опитувальника від 50 до 90% використовуються відкриті питання. Збір думок подібний вільному інтерв'ю і відрізняється від нього лише письмовою формою опитування. - -Плюси: дає можливість залучити велику кількість експертів. - -Мінуси: заочний опитування пов'язане з організаційними труднощами, зумовленими низьким рівнем повернення анкет. - -Анкетування – даний тип опитування може бути сформований як у відкритій, так і в закритій формі. Сильно відрізняється від письмового збору думок, оскільки спрямоване на з’ясування оцінок фахівцями тих чи інших аспектів готового рішення. - -Плюси: можливість анонімного збору даних; значно спрощує можливість збору даних; стандартизація. - -Мінуси: учасники можуть відмовитися від відповідей або дати неправильні відповіді через обмежену варіативність; негнучкість методу (негативна сторона стандартизованості). - -Метод Дельфі – опитування експертної групи в кілька турів з узгодженням думок експертів. Суть цього методу в тому, щоб за допомогою серії послідовних дій - опитувань, інтерв'ю, мозкових штурмів - домогтися максимального консенсусу при визначенні правильного рішення. Метод передбачає опитування експертів в кілька турів (зазвичай 2-3), обробку результатів кожного туру, інформування їх про ці результати і знову повторення такої ж процедури. У першому турі відповіді даються без аргументації. Після обробки виділяються крайні і середні судження і повідомляються експертам. У другому турі опитувані знову звертаються до своїх оцінок. Так як вони мали досить часу на роздуми і дізналися про існування інших позицій з цього приводу, вони можуть переглянути свої погляди або, навпаки, посилити їх аргументацію. Після другого туру обробляються нові оцінки - крайні і середні думки узагальнюються, підсумки знову доповідають експертам. Так повторюється 3-4 рази. Практика показує, що після третього або четвертого туру думки експертів не змінюються. В ході подібної процедури виробляється узгоджена оцінка, причому дослідник не повинен нехтувати громадською думкою тих, хто після неодноразових опитувань залишився на своїй позиції. - -Плюси: подібна техніка дозволяє зменшити вплив недостатньо компетентних експертів на групову оцінку, як це спостерігається при простому анкетуванні. Воно досягається за рахунок отриманої цінної інформації від більш компетентних експертів. - -Мінуси: часові витрати; можливість втрати мотивації учасників. - -Метод «мозкового штурму (атаки)» - -Плюси: стимулювання творчості; розширення горизонтів. - -Мінуси: відсутність структури; можливість домінування деяких учасників. - -## Порівняльна характеристика існуючих засобів вирішення завдання - -Розглядатимемо такі найпопулярніші інструменти для проведення анкетувань: - -[Google Forms](https://uk.wikipedia.org/wiki/Google_Форми) - -Google Forms — програмне забезпечення для адміністрування опитування, -що входить до складу безкоштовного веб-пакету Google Docs Editors, -пропонованого Google. Послуга також включає Google Docs, Google Sheets, -Google Slides, Google Drawings, Google Sites і Google Keep. Google Форми -доступні лише як веб-додаток. Додаток дозволяє користувачам створювати та -редагувати опитування в Інтернеті, співпрацюючи з іншими користувачами -в режимі реального часу. Зібрану інформацію можна автоматично внести в -електронну таблицю. - -[SurveyMonkey](https://en.wikipedia.org/wiki/SurveyMonkey) - -SurveyMonkey - це служба як для створення простих і невеликих опитувань, -так і для масової розсилки анкет, виявлення тенденцій і складання більших -досліджень. Сервіс дозволяє швидко створювати опитування, налаштовувати -їх зовнішній вигляд, змінювати місцями питання, проводити А/Б-тестування, -вставляти опитування на сайти та соціальні мережі, складати дуже детальні -та наочні звіти, захищати дані та інтегрувати засоби з MailChimp, -GroSocial та іншими сервісами. - -[Responsly](https://www.responsly.com) - -Responsly - платформа, яка дозволяє створювати онлайн-опитування та -анкети всього за кілька секунд і надсилати їх тисячам одержувачів одним -натисканням кнопки. Також є вбудована технологія штучного інтелекту, яка -надає широкий вибір типів питань для опитувань, вибраних спеціально для -певної аудиторії. - -[Jotform](https://en.wikipedia.org/wiki/Jotform) - -Jotform — це потужна онлайн програма, яка дозволяє будь-кому швидко -створювати власні онлайн форми. Інтуїтивно зрозумілий інтерфейс -конструктора форм робить створення форм неймовірно простим, без написання -жодного рядка коду. За допомогою Jotform користувачі можуть створювати та -публікувати форми, інтегрувати їх у свій веб-сайт та отримувати відповіді -електронною поштою. Jotform дозволяє створювати онлайн форми, отримувати -відповіді безпосередньо в електронних листах та створювати PDF форми для -заповнення. - -[QuestionPro](https://questionpro.com/) - -QuestionPro — це програмне забезпечення для створення та розповсюдження -опитувань. Воно складається з інтуїтивно зрозумілого інтерфейсу для -створення запитань для опитувань, інструментів для їх розповсюдження -електронною поштою або на веб-сайті та інструментів для аналізу та -перегляду результатів. - -[Fillout](https://www.fillout.com/) - -Fillout — це платформа для створення форм, опитувань і тестів. Fillout -інтегрується з інструментами, які вже використовує користувач, щоб -допомогти автоматизувати робочі процеси та масштабувати операції. Час -безперебійної роботи платформи та безпека додатків є двома пріоритетами -Fillout. Для компаній із суворими вимогами щодо резидентності даних та -іншими вимогами Fillout пропонує корпоративне рішення для безпечного -отримання даних у будь-якому масштабі. - -Порівняймо наведені вище сервіси із нашим проєктом. - -Умовні позначення в таблиці порівняння: -- 🔴 засіб не відповідає критерію -- 🟡 засіб частково відповідає критерію або вимагає коштів для повноцінного функціоналу -- 🟢 засіб цілком відповідає критерію в безкоштовній версії -- ⚪ засіб частково або повністю не надав інформацію щодо критерію - -| Критерій |Xpertise (наш проєкт)|Google Forms|SurveyMonkey|Responsly|Jotform|QuestionPro|Fillout| -|:-----------:|:-------------------:|:----------:|:----------:|:-------:|:-----:|:---------:|:-----:| -|**Functionality**| | | | | | | | -|Мобільна версія| 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -|Типи відповідей| 4 шт. |⚪ |4 шт. (до 13 шт.)|⚪ |⚪|30 шт. (до 52 шт.)|40+ шт.| -|К-ть запитань в одній формі|50|безліч|10 (до безмежності)| безліч |100 (до 1 тис.)|безліч|безліч| -|К-ть форм | 50 (до 10 тис.) |безліч | безліч |3| 5 (до 100)|10 (до безмежності)| безліч | -|Макс. к-ть опитаних|10 тис. (до 10 млн.)|безліч | 25/міс. (до 40 тис./рік) |10/міс. (до 10 тис./міс.)|100/міс. (до 10 тис./міс.)|200/форму (до 100 тис./рік)|1 тис./міс. (до 10 тис./міс.)| -|Випадкова послідовність запитань|🟢| 🔴 | €99/міс. | $79/міс. | ⚪ | 🟡 | ⚪ | -|Умовні переходи| 🟢 | 🔴 | €39/міс. | 🟡 | ⚪ | 🟡 | 🟢 | -|Квота відповідей| 🟢 | ⚪ | €432/рік | $79/міс. | ⚪ | ⚪ | ⚪ | -|Таймер закінчення опитування| 🟢 | 🟢 | ⚪ | ⚪ | ⚪ | $1188/рік | $15/місяць | -|Перегляд недозаповнених форм| 🟢 | 🔴 | ⚪ | ⚪ | ⚪ | ⚪ | $75/міс. | -|Завантаження файлів| 🟢 | 🟢 | €432/рік | ⚪ | 🟢 | ⚪ | 🟢 | -|Доступне файлове сховище| 2 Гб (до 1 Тб) | 15 Гб (до 5 Тб) | без меж | - | 100 Мб (до 100 Гб) | - | 20 Мб/файл (до 1 Гб/файл | -|**Usability**||||||||| -|Простий будівельник форм|🟢|🟢|🟢|🟢|🟢|🟢|🟢| -|AI-помічник| 🔴 | 🔴 | 🔴 | $49/міс. | 🔴 | 🔴 | 🟢 | -|Заміна брендингу на власний|🟢 | $12/міс. | €1188/рік. | $159/міс. | 🟡 | $1188/рік | $40/міс. | -|Налаштування кольорової палітри|🟢 | 🟢 | €432/рік | $159/міс. | ⚪ | $15/міс. | $40/міс. | -|Перегляд аналітики в реальному часі| 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟡 | -|**Reliability**|||||||| -|Автоматичні резервні копії| 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -|Шифрування з'єднань| 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | -|**Performance**|||||||| -|Оптимальне використання мережі| 🟢 | 🔴 | 🟡 | 🟢 | 🔴 | 🟡 | 🟡 | -|**Supportability**|||||||| -|Інструкція з використання| 🟢 | ⚪ | ⚪ | 🟢 | 🟢 | 🟢 | 🟢 | -|Онлайн-підтримка| 🟢 | $72/рік | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | - -## Висновки -Завдяки проведеному дослідженню ринку бачимо, що більшість сучасних платформ не надають безкоштовної можливості налаштовувати умовні переходи між сторінками опитування, а також значно обмежують максимальну кількість зібраних відповідей. Комбінація цих функцій у безкоштовній версії нашого сервісу може стати вагомою перевагою для певних груп користувачів. - -Також додаткові функції (такі як квоти відповідей або перегляд недозаповнених форм), що наявні в безкоштовній версії продукту, можуть привабити додаткових користувачів, що бажають отримати такі інструменти, проте не хочуть віддавати чималі гроші за коштовні сервіси. З огляду на це вважаємо, що розробка такого проєкту має сенс. - -## Література - -1. [https://uk.wikipedia.org/wiki/База_даних](https://uk.wikipedia.org/wiki/База_даних) -2. [https://uk.wikipedia.org/wiki/SQL](https://uk.wikipedia.org/wiki/SQL) -3. [https://uk.wikipedia.org/wiki/Опитування](https://uk.wikipedia.org/wiki/Опитування) -4. [https://ela.kpi.ua/server/api/core/bitstreams/8a8030cf-bfc1-4586-b197-1c7e3bf02700/content](https://ela.kpi.ua/server/api/core/bitstreams/8a8030cf-bfc1-4586-b197-1c7e3bf02700/content) -5. [http://elbib.in.ua/vidi-ekspertnogo-opituvannya-metodologiya-ta-metodi-sotsiologichnih-doslidjen.html](http://elbib.in.ua/vidi-ekspertnogo-opituvannya-metodologiya-ta-metodi-sotsiologichnih-doslidjen.html) -6. [https://uk.wikipedia.org/wiki/Google_Форми](https://uk.wikipedia.org/wiki/Google_Форми) -7. [https://en.wikipedia.org/wiki/SurveyMonkey](https://en.wikipedia.org/wiki/SurveyMonkey) -8. [https://www.responsly.com](https://www.responsly.com) -9. [https://en.wikipedia.org/wiki/Jotform](https://en.wikipedia.org/wiki/Jotform) -10. [https://questionpro.com/](https://questionpro.com/) -11. [https://www.fillout.com/](https://www.fillout.com/) diff --git a/edu-dis-labs/docs/software/README.md b/edu-dis-labs/docs/software/README.md deleted file mode 100644 index e112dc2..0000000 --- a/edu-dis-labs/docs/software/README.md +++ /dev/null @@ -1,176 +0,0 @@ -# Реалізація інформаційного та програмного забезпечення - -## SQL-скрипт для створення та початкового наповнення бази даних - -```sql --- MySQL Workbench Forward Engineering - -SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; -SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; -SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; - --- ----------------------------------------------------- --- Schema mydb --- ----------------------------------------------------- - --- ----------------------------------------------------- --- Schema mydb --- ----------------------------------------------------- -CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ; -USE `mydb` ; - --- ----------------------------------------------------- --- Table `mydb`.`Account` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `mydb`.`Account` ( - `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, - `username` CHAR(255) NOT NULL, - `password` CHAR(255) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE, - UNIQUE INDEX `username_UNIQUE` (`username` ASC) VISIBLE) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `mydb`.`Survey` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `mydb`.`Survey` ( - `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, - `isPaused` TINYINT UNSIGNED NOT NULL, - `isNamed` TINYINT UNSIGNED NOT NULL, - `name` CHAR(255) NULL, - `duration` CHAR(255) NULL, - PRIMARY KEY (`id`), - UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE, - CONSTRAINT `fk_Survey_Account1` - FOREIGN KEY (`id`) - REFERENCES `mydb`.`Account` (`id`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `mydb`.`Question` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `mydb`.`Question` ( - `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, - `Text` CHAR(255) NULL, - PRIMARY KEY (`id`), - UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE, - CONSTRAINT `fk_Question_Survey1` - FOREIGN KEY (`id`) - REFERENCES `mydb`.`Survey` (`id`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `mydb`.`Response` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `mydb`.`Response` ( - `id` INT UNSIGNED NULL AUTO_INCREMENT, - `Value` VARCHAR(16384) NULL, - UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE, - PRIMARY KEY (`id`), - CONSTRAINT `fk_Response_Question` - FOREIGN KEY (`id`) - REFERENCES `mydb`.`Question` (`id`) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT `fk_Response_Account1` - FOREIGN KEY (`id`) - REFERENCES `mydb`.`Account` (`id`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `mydb`.`Link` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `mydb`.`Link` ( - `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, - `uses` INT NOT NULL, - `responces` INT NOT NULL, - `usageLimit` INT NULL, - `responceLimit` INT NULL, - `path` CHAR(32) NOT NULL, - PRIMARY KEY (`id`), - CONSTRAINT `fk_Link_Survey1` - FOREIGN KEY (`id`) - REFERENCES `mydb`.`Survey` (`id`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - -SET SQL_MODE=@OLD_SQL_MODE; -SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; -SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; -``` -## RESTfull-сервіс для керування опитуваннями - -Код серверу (Python, Flask) для таблиці "survey": -```from flask import Flask, request, jsonify -from flask_sqlalchemy import SQLAlchemy - -app = Flask(__name__) -app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:1234@localhost/odb' -db = SQLAlchemy(app) - -class Survey(db.Model): - id = db.Column(db.Integer, primary_key=True) - isPaused = db.Column(db.Boolean) - isNamed = db.Column(db.Boolean) - name = db.Column(db.String(255)) - duration = db.Column(db.Integer) - account_id = db.Column(db.Integer) - - def __repr__(self): - return f"" - - def as_dict(self): - return {c.name: getattr(self, c.name) for c in self.__table__.columns} - -@app.route("/api/survey", methods=["GET", "POST"]) -def api_survey(): - if request.method == "GET": - surveys = Survey.query.all() - return jsonify([survey.as_dict() for survey in surveys]) - - elif request.method == "POST": - data = request.json - new_survey = Survey(isPaused=data['isPaused'], isNamed=data['isNamed'], name=data['name'], - duration=data['duration'], account_id=data['account_id']) - db.session.add(new_survey) - db.session.commit() - return jsonify({'success': True}), 201 - -@app.route("/api/survey/", methods=["GET", "PUT", "DELETE"]) -def api_survey_numbered(survey_id): - survey = Survey.query.get_or_404(survey_id) - - if request.method == "GET": - return jsonify(survey.as_dict()) - - elif request.method == "PUT": - data = request.json - survey.isPaused = data['isPaused'] - survey.isNamed = data['isNamed'] - survey.name = data['name'] - survey.duration = data['duration'] - survey.account_id = data['account_id'] - db.session.commit() - return jsonify({'success': True}) - - elif request.method == "DELETE": - db.session.delete(survey) - db.session.commit() - return jsonify({'success': True}) - -if __name__ == '__main__': - app.run(debug=True) -''' \ No newline at end of file diff --git a/edu-dis-labs/docs/test/README.md b/edu-dis-labs/docs/test/README.md deleted file mode 100644 index c033498..0000000 --- a/edu-dis-labs/docs/test/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# Тестування працездатності системи - -Тестування працездатності системи -Для тестування системи використовувся додаток Postman - -Запуск сервера: -![alt text](image.png) - -Метод POST -POST Survey -Запит та відповідь: -![alt text](image-1.png) - -Перевірка за допомогою GET: -![![alt text](image-2.png)](image-2.png) - -Метод PUT -PUT Survey -Запит та відповідь: -![alt text](image-3.png) - -Перевірка за допомогою GET: -![alt text](image-4.png) - -Метод DELETE -DELETE Survey -Запит та відповідь: -![alt text](image-5.png) - -Перевірка за допомогою GET: -![alt text](image-6.png) - - - diff --git a/edu-dis-labs/docs/test/image-1.png b/edu-dis-labs/docs/test/image-1.png deleted file mode 100644 index 32b034bb1e778f521a19c9c74cd11d2ca229ba47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93259 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