Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3a5a0ae187 |
@@ -1,104 +0,0 @@
|
|||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
lerna-debug.log*
|
|
||||||
|
|
||||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
|
||||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
||||||
lib-cov
|
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
|
||||||
coverage
|
|
||||||
*.lcov
|
|
||||||
|
|
||||||
# nyc test coverage
|
|
||||||
.nyc_output
|
|
||||||
|
|
||||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
|
||||||
.grunt
|
|
||||||
|
|
||||||
# Bower dependency directory (https://bower.io/)
|
|
||||||
bower_components
|
|
||||||
|
|
||||||
# node-waf configuration
|
|
||||||
.lock-wscript
|
|
||||||
|
|
||||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
|
||||||
build/Release
|
|
||||||
|
|
||||||
# Dependency directories
|
|
||||||
node_modules/
|
|
||||||
jspm_packages/
|
|
||||||
|
|
||||||
# TypeScript v1 declaration files
|
|
||||||
typings/
|
|
||||||
|
|
||||||
# TypeScript cache
|
|
||||||
*.tsbuildinfo
|
|
||||||
|
|
||||||
# Optional npm cache directory
|
|
||||||
.npm
|
|
||||||
|
|
||||||
# Optional eslint cache
|
|
||||||
.eslintcache
|
|
||||||
|
|
||||||
# Microbundle cache
|
|
||||||
.rpt2_cache/
|
|
||||||
.rts2_cache_cjs/
|
|
||||||
.rts2_cache_es/
|
|
||||||
.rts2_cache_umd/
|
|
||||||
|
|
||||||
# Optional REPL history
|
|
||||||
.node_repl_history
|
|
||||||
|
|
||||||
# Output of 'npm pack'
|
|
||||||
*.tgz
|
|
||||||
|
|
||||||
# Yarn Integrity file
|
|
||||||
.yarn-integrity
|
|
||||||
|
|
||||||
# dotenv environment variables file
|
|
||||||
.env
|
|
||||||
.env.test
|
|
||||||
|
|
||||||
# parcel-bundler cache (https://parceljs.org/)
|
|
||||||
.cache
|
|
||||||
|
|
||||||
# Next.js build output
|
|
||||||
.next
|
|
||||||
|
|
||||||
# Nuxt.js build / generate output
|
|
||||||
.nuxt
|
|
||||||
dist
|
|
||||||
|
|
||||||
# Gatsby files
|
|
||||||
.cache/
|
|
||||||
# Comment in the public line in if your project uses Gatsby and *not* Next.js
|
|
||||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
|
||||||
# public
|
|
||||||
|
|
||||||
# vuepress build output
|
|
||||||
.vuepress/dist
|
|
||||||
|
|
||||||
# Serverless directories
|
|
||||||
.serverless/
|
|
||||||
|
|
||||||
# FuseBox cache
|
|
||||||
.fusebox/
|
|
||||||
|
|
||||||
# DynamoDB Local files
|
|
||||||
.dynamodb/
|
|
||||||
|
|
||||||
# TernJS port file
|
|
||||||
.tern-port
|
|
||||||
|
Before Width: | Height: | Size: 278 KiB After Width: | Height: | Size: 278 KiB |
|
Before Width: | Height: | Size: 232 KiB After Width: | Height: | Size: 232 KiB |
|
Before Width: | Height: | Size: 236 KiB After Width: | Height: | Size: 236 KiB |
|
Before Width: | Height: | Size: 218 KiB After Width: | Height: | Size: 218 KiB |
|
Before Width: | Height: | Size: 264 KiB After Width: | Height: | Size: 264 KiB |
|
Before Width: | Height: | Size: 246 KiB After Width: | Height: | Size: 246 KiB |
|
Before Width: | Height: | Size: 273 KiB After Width: | Height: | Size: 273 KiB |
|
Before Width: | Height: | Size: 281 KiB After Width: | Height: | Size: 281 KiB |
|
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 247 KiB |
|
Before Width: | Height: | Size: 262 KiB After Width: | Height: | Size: 262 KiB |
|
Before Width: | Height: | Size: 266 KiB After Width: | Height: | Size: 266 KiB |
|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 163 KiB After Width: | Height: | Size: 163 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 266 KiB After Width: | Height: | Size: 266 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 214 KiB After Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 314 KiB After Width: | Height: | Size: 314 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 243 KiB After Width: | Height: | Size: 243 KiB |
@@ -0,0 +1,22 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<title>Xpertise</title>
|
||||||
|
<meta name="generator" content="VuePress 1.8.2">
|
||||||
|
<link rel="icon" href="/edu-dis-labs/favicon.ico">
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
|
||||||
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||||
|
<meta name="description" content="Лабораторні роботи з дисципліни "Організація баз даних"">
|
||||||
|
|
||||||
|
<link rel="preload" href="/edu-dis-labs/assets/css/0.styles.683d4db1.css" as="style"><link rel="preload" href="/edu-dis-labs/assets/js/app.ef1e786b.js" as="script"><link rel="preload" href="/edu-dis-labs/assets/js/14.2545c1ad.js" as="script"><link rel="prefetch" href="/edu-dis-labs/assets/js/10.e50a5206.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/11.29ee89f8.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/12.0b4fa948.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/13.6b4a3ce8.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/15.0aee5be2.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/16.ae758f43.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/17.b51d0d04.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/18.51ffb2cf.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/19.85d5c25e.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/2.1dcc2d74.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/20.45f25853.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/21.c178c591.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/22.3dfa983e.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/23.58c0e73a.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/24.1862bf96.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/25.d4ca4f91.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/26.a9d31514.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/27.678360d8.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/28.01bbdb4a.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/3.3d08d86c.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/4.4c193c95.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/5.dea68fdd.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/6.6d8c3d51.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/7.9617083c.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/8.53a1b2bd.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/9.1882ecda.js">
|
||||||
|
<link rel="stylesheet" href="/edu-dis-labs/assets/css/0.styles.683d4db1.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>There's nothing here.</blockquote> <a href="/edu-dis-labs/" class="router-link-active">
|
||||||
|
Take me home.
|
||||||
|
</a></div></div><div class="global-ui"><!----></div></div>
|
||||||
|
<script src="/edu-dis-labs/assets/js/app.ef1e786b.js" defer></script><script src="/edu-dis-labs/assets/js/14.2545c1ad.js" defer></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
Before Width: | Height: | Size: 274 KiB After Width: | Height: | Size: 274 KiB |
@@ -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.
|
|
||||||
@@ -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://<USERNAME>.github.io
|
|
||||||
# git push -f git@github.com:boldak/<USERNAME>.github.io.git master
|
|
||||||
|
|
||||||
# if you are deploying to https://<USERNAME>.github.io/<REPO>
|
|
||||||
git push -f https://github.com/<USERNAME>/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!***
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<title>Xpertise</title>
|
||||||
|
<meta name="generator" content="VuePress 1.8.2">
|
||||||
|
<link rel="icon" href="/edu-dis-labs/favicon.ico">
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
|
||||||
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||||
|
<meta name="description" content="Лабораторні роботи з дисципліни "Організація баз даних"">
|
||||||
|
|
||||||
|
<link rel="preload" href="/edu-dis-labs/assets/css/0.styles.683d4db1.css" as="style"><link rel="preload" href="/edu-dis-labs/assets/js/app.ef1e786b.js" as="script"><link rel="preload" href="/edu-dis-labs/assets/js/2.1dcc2d74.js" as="script"><link rel="preload" href="/edu-dis-labs/assets/js/17.b51d0d04.js" as="script"><link rel="prefetch" href="/edu-dis-labs/assets/js/10.e50a5206.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/11.29ee89f8.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/12.0b4fa948.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/13.6b4a3ce8.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/14.2545c1ad.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/15.0aee5be2.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/16.ae758f43.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/18.51ffb2cf.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/19.85d5c25e.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/20.45f25853.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/21.c178c591.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/22.3dfa983e.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/23.58c0e73a.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/24.1862bf96.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/25.d4ca4f91.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/26.a9d31514.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/27.678360d8.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/28.01bbdb4a.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/3.3d08d86c.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/4.4c193c95.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/5.dea68fdd.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/6.6d8c3d51.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/7.9617083c.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/8.53a1b2bd.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/9.1882ecda.js">
|
||||||
|
<link rel="stylesheet" href="/edu-dis-labs/assets/css/0.styles.683d4db1.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/edu-dis-labs/" class="home-link router-link-active"><!----> <span class="site-name">Xpertise</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/edu-dis-labs/" class="nav-link">
|
||||||
|
Початок
|
||||||
|
</a></div> <a href="http://139.162.162.130:3000/hasslesstech/edu-dis-labs" target="_blank" rel="noopener noreferrer" class="repo-link">
|
||||||
|
Gitea
|
||||||
|
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/edu-dis-labs/" class="nav-link">
|
||||||
|
Початок
|
||||||
|
</a></div> <a href="http://139.162.162.130:3000/hasslesstech/edu-dis-labs" target="_blank" rel="noopener noreferrer" class="repo-link">
|
||||||
|
Gitea
|
||||||
|
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><a href="/edu-dis-labs/intro/" class="sidebar-link">Вступ</a></li><li><section class="sidebar-group collapsable depth-0"><a href="/edu-dis-labs/requirements/" class="sidebar-heading clickable"><span>Розроблення вимог до системи</span> <span class="arrow right"></span></a> <!----></section></li><li><a href="/edu-dis-labs/use-cases/" class="sidebar-link">Розроблення вимог до функціональности системи</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/edu-dis-labs/use-cases/#загальна-схема" class="sidebar-link">Загальна схема</a></li><li class="sidebar-sub-header"><a href="/edu-dis-labs/use-cases/#схеми-використання-для-окремих-діячів" class="sidebar-link">Схеми використання для окремих діячів</a></li><li class="sidebar-sub-header"><a href="/edu-dis-labs/use-cases/#сценаріі-використання" class="sidebar-link">Сценарії використання</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/edu-dis-labs/use-cases/#для-гостя" class="sidebar-link">Для гостя</a></li><li class="sidebar-sub-header"><a href="/edu-dis-labs/use-cases/#для-зареєстрованого-користувача" class="sidebar-link">Для зареєстрованого користувача</a></li></ul></li></ul></li><li><a href="/edu-dis-labs/design/" class="sidebar-link">Проєктування архітектури системи</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/edu-dis-labs/design/#be-модель" class="sidebar-link">BE модель</a></li><li class="sidebar-sub-header"><a href="/edu-dis-labs/design/#er-модель" class="sidebar-link">ER-модель</a></li><li class="sidebar-sub-header"><a href="/edu-dis-labs/design/#реляціина-схема" class="sidebar-link">Реляційна схема</a></li></ul></li><li><a href="/edu-dis-labs/software/" class="sidebar-link">Реалізація інформаційного та програмного забезпечення</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/edu-dis-labs/software/#sql-скрипт-для-створення-та-початкового-наповнення-бази-даних" class="sidebar-link">SQL-скрипт для створення та початкового наповнення бази даних</a></li></ul></li><li><a href="/edu-dis-labs/test/" class="sidebar-link">Тестування працездатності системи</a></li><li><a href="/edu-dis-labs/conclusion/" class="sidebar-link">Висновки</a></li><li><a href="/edu-dis-labs/api/" aria-current="page" class="active sidebar-link">API</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Останнє оновлення:</span> <span class="time">8/30/2021, 5:54:57 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
|
||||||
|
←
|
||||||
|
<a href="/edu-dis-labs/conclusion/" class="prev">
|
||||||
|
Висновки
|
||||||
|
</a></span> <!----></p></div> </main></div><div class="global-ui"><!----></div></div>
|
||||||
|
<script src="/edu-dis-labs/assets/js/app.ef1e786b.js" defer></script><script src="/edu-dis-labs/assets/js/2.1dcc2d74.js" defer></script><script src="/edu-dis-labs/assets/js/17.b51d0d04.js" defer></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
After Width: | Height: | Size: 49 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"><g stroke-width="2" stroke="#aaa" fill="none"><path d="M11.29 11.71l-4-4"/><circle cx="5" cy="5" r="4"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 216 B |
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{566:function(n,o,e){},654:function(n,o,e){"use strict";e.r(o);e(566);var l={name:"Styles"},t=e(34),u=Object(t.a)(l,void 0,void 0,!1,null,null,null);o.default=u.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{619:function(t,a,s){t.exports=s.p+"assets/img/relational_scheme.50c04084.png"},644:function(t,a,s){"use strict";s.r(a);var r=s(34),e=Object(r.a)({},(function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"проєктування-бази-даних"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#проєктування-бази-даних"}},[t._v("#")]),t._v(" Проєктування бази даних")]),t._v(" "),r("h2",{attrs:{id:"be-модель"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#be-модель"}},[t._v("#")]),t._v(" BE модель")]),t._v(" "),r("center",{staticStyle:{"border-radius":"4px",border:"1px solid #cfd7e6","box-shadow":"0 1px 3px 0 rgba(89,105,129,.05), 0 1px 1px 0 rgba(0,0,0,.025)",padding:"1em"}},[r("img",{attrs:{src:"https://www.plantuml.com/plantuml/svg/VPJBReCm44Nt_Wh4CWeesKTHKYcBI8ZqmQ9TMZ1ghGQ3_4YRlwzji0EswP8vTsRiUoqEN60cP7j52AWWufuSwxgJL2IxtQcipjN7Vk-HN79W5BUW9DNflGe5FURyfsFDGs0LRvBTu1wPFO0yEdPaZMHOa8ukSSAViJgQtlfqkHIdOncHb6h1N64bBnBuEDu_d4MvW5yHNkeLUD_H6YAT5kKtV9KGjXQ4VaVQT5dPZ3-X82tHAyzbvM4sZbvMA3FulwrnscFnDJbfa7gMhMpIA4Xy2j4qL0s6R-Jd6I8NPGmD4Ku8yktAf8AwY29EUT2Ob4NrVjqOysX7NhY6s1f2yqTZe2qvKvDqkzwcQasIRjQhT7vL7xfkzr970RCAjzoDtom8pBiRQdg-cMFTF01jr0_X3m00",alt:"uml diagram"}})]),t._v(" "),r("h2",{attrs:{id:"er-модель"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#er-модель"}},[t._v("#")]),t._v(" ER-модель")]),t._v(" "),r("center",{staticStyle:{"border-radius":"4px",border:"1px solid #cfd7e6","box-shadow":"0 1px 3px 0 rgba(89,105,129,.05), 0 1px 1px 0 rgba(0,0,0,.025)",padding:"1em"}},[r("img",{attrs:{src:"https://www.plantuml.com/plantuml/svg/XL9TIyCm57tFhmXzShB1kiqYPPHL6JWedMvzyJ4q5mskQSd7T8Z_tIuDQQspvYavzvvpSWzt9HKHIXS7X80hfauuplDISuMNotMQRRBdACAV2DU7qN2JPkQg9GXE2WZl7-BTLR0O6RGYKhwNWZRex2OOeIydkmDPbJo7GTqZEMWhwWVpsqLNu4c3LApaWm8AFjH5-xqMHpWDSjk13FSCKIt8sRC7C_b8wWXeUBVT9kiujM1Q2xHOwvqm_lPVdD8zX0rATiha1H9MCFMhwITQ4VNQV7K-CyExqBtf-Dh3aqc4FN_iUovCv5BjTpI18PjRlsgN19dH_g1UCfzsoMW5dDQhzmq0",alt:"uml diagram"}})]),t._v(" "),r("h2",{attrs:{id:"реляціина-схема"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#реляціина-схема"}},[t._v("#")]),t._v(" Реляційна схема")]),t._v(" "),r("center",{staticStyle:{"border-radius":"4px",border:"1px solid #cfd7e6","box-shadow":"0 1px 3px 0 rgba(89,105,129,.05), 0 1px 1px 0 rgba(0,0,0,.025)",padding:"1em"}},[r("p",[r("img",{attrs:{src:s(619),alt:"relational_schema"}})])])],1)}),[],!1,null,null,null);a.default=e.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{635:function(e,a,t){"use strict";t.r(a);var n={name:"my-component",components:{VueGoodTable:t(85).a},data:function(){return{columns:[{label:"Name",field:"name"},{label:"Age",field:"age",type:"number"},{label:"Created On",field:"createdAt",type:"date",dateInputFormat:"yyyy-mm-dd",dateOutputFormat:"MMM Do yy"},{label:"Percent",field:"score",type:"percentage"}],rows:[{id:1,name:"John",age:20,createdAt:"2011-10-31",score:.03343},{id:2,name:"Jane",age:24,createdAt:"2019-10-31",score:.03343},{id:3,name:"Susan",age:16,createdAt:"2011-10-30",score:.03343},{id:4,name:"Chris",age:55,createdAt:"2011-10-11",score:.03343},{id:5,name:"Dan",age:40,createdAt:"2011-10-21",score:.03343},{id:6,name:"John",age:20,createdAt:"2011-10-31",score:.03343}]}}},r=t(34),o=Object(r.a)(n,(function(){var e=this.$createElement,a=this._self._c||e;return a("div",[a("vue-good-table",{attrs:{columns:this.columns,rows:this.rows}})],1)}),[],!1,null,null,null);a.default=o.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{633:function(t,e,s){"use strict";s.r(e);var n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],o={methods:{getMsg:function(){return n[Math.floor(Math.random()*n.length)]}}},i=s(34),h=Object(i.a)(o,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"theme-default-content"},[e("h1",[this._v("404")]),this._v(" "),e("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),e("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])}),[],!1,null,null,null);e.default=h.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{637:function(t,n,e){"use strict";e.r(n);e(10),e(15),e(17);var i={name:"mermaid",mounted:function(){e.e(27).then(e.t.bind(null,630,7)).then((function(t){t.initialize({startOnLoad:!0}),t.init()}))}},a=e(34),l=Object(a.a)(i,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"mermaid"},[this._t("default")],2)}),[],!1,null,null,null);n.default=l.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{641:function(r,e,t){"use strict";t.r(e);var n=t(34),a=Object(n.a)({},(function(){var r=this,e=r.$createElement,t=r._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[t("p",[t("strong",[r._v("Виконали:")])]),r._v(" "),t("p",[t("em",[r._v("студенти 2-го курсу, групи ІО-23:")])]),r._v(" "),t("p",[t("em",[r._v("Олег ШМУЛЯР [shmuliar1@ukr.net, "),t("a",{attrs:{href:"https://t.me/dmytrofiot23",target:"_blank",rel:"noopener noreferrer"}},[r._v("@dmytrofiot23"),t("OutboundLink")],1),r._v("]")])]),r._v(" "),t("p",[t("em",[r._v("Андрій БОДНАР [bodnarandrew123@gmail.com, "),t("a",{attrs:{href:"https://t.me/andrux4",target:"_blank",rel:"noopener noreferrer"}},[r._v("@andrux4"),t("OutboundLink")],1),r._v("]")])]),r._v(" "),t("p",[t("em",[r._v("Андрій ШВЕД [andreyfrog26@gmail.com, "),t("a",{attrs:{href:"https://t.me/Rhinemann",target:"_blank",rel:"noopener noreferrer"}},[r._v("@Rhinemann"),t("OutboundLink")],1),r._v("]")])]),r._v(" "),t("p",[t("em",[r._v("Євгеній ГОЛОВАТЕНКО [ievgeniigol@gmail.com, "),t("a",{attrs:{href:"https://t.me/yevholova",target:"_blank",rel:"noopener noreferrer"}},[r._v("@yevholova"),t("OutboundLink")],1),r._v("]")])]),r._v(" "),t("p",[t("em",[r._v("Вікторія ВОДЯНА [vodyanayaviktoria@gmail.com, "),t("a",{attrs:{href:"https://t.me/victoriavodyana",target:"_blank",rel:"noopener noreferrer"}},[r._v("@victoriavodyana"),t("OutboundLink")],1),r._v("]")])]),r._v(" "),t("p",[t("em",[r._v("Михайло КОРБУТ [korbutmykhailo@gmail.com, "),t("a",{attrs:{href:"https://t.me/misha1tigr",target:"_blank",rel:"noopener noreferrer"}},[r._v("@misha1tigr"),t("OutboundLink")],1),r._v("]")])]),r._v(" "),t("p",[t("em",[r._v("Олександр ГУРАНЕЦЬ [bacant150@gmail.com, "),t("a",{attrs:{href:"https://t.me/Bacant150",target:"_blank",rel:"noopener noreferrer"}},[r._v("@Bacant150"),t("OutboundLink")],1),r._v("]")])]),r._v(" "),t("p",[t("strong",[r._v("Керівник")])]),r._v(" "),t("p",[t("em",[r._v("доцент кафедри ОТ ФІОТ, к.т.н., доцент")]),t("span",{attrs:{"padding-right:5em":""}}),r._v(" "),t("strong",[r._v("Андрій БОЛДАК")])]),r._v(" "),t("p",[t("a",{attrs:{href:"https://kpi.ua/",target:"_blank",rel:"noopener noreferrer"}},[r._v('НТУУ "КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО'),t("OutboundLink")],1)]),r._v(" "),t("p",[t("a",{attrs:{href:"https://fiot.kpi.ua/",target:"_blank",rel:"noopener noreferrer"}},[r._v("Факультет інформатики та обчислювальної техніки"),t("OutboundLink")],1)]),r._v(" "),t("p",[t("a",{attrs:{href:"https://comsys.kpi.ua/",target:"_blank",rel:"noopener noreferrer"}},[r._v("Кафедра обчислювальної техніки"),t("OutboundLink")],1)]),r._v(" "),t("p",[r._v("Київ")])])}),[],!1,null,null,null);e.default=a.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{642:function(t,e,n){"use strict";n.r(e);var s=n(34),l=Object(s.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);e.default=l.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{643:function(t,n,e){"use strict";e.r(n);var s=e(34),r=Object(s.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"висновки"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#висновки"}},[t._v("#")]),t._v(" Висновки")]),t._v(" "),e("p",[t._v("У висновках наводять оцінку отриманих результатів, можливі галузі його використання. Висновки повинні містити в собі коротку узагальнену оцінку результатів розробки, у\nтому числі і з погляду на їх технічно-економічну ефективність. Необхідно порівняти\nотримані результати усіх характеристик об’єкта проєктування із завданням і з основними показниками сучасних аналогічних об’єктів.")]),t._v(" "),e("p",[t._v("Необхідно вказати яке нове технічне рішення покладене в основу проєкту і у чому її\nпереваги, що нового було запропоновано самим студентом.")]),t._v(" "),e("p",[t._v("На базі отриманих висновків можуть надаватися рекомендації по використанню розробки. Вони повинні\nмати конкретний характер і бути цілком підтверджені проєктом.")])])}),[],!1,null,null,null);n.default=r.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{645:function(t,n,e){"use strict";e.r(n);var s=e(34),r=Object(s.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"вступ"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#вступ"}},[t._v("#")]),t._v(" Вступ")]),t._v(" "),e("p",[t._v("У вступі описується мета роботи і розглядається поставлене завдання з позиції її\nактуальності, значення її розв’язання для тієї предметної області, до якої відноситься\nтема бакалаврського проєкту.")]),t._v(" "),e("p",[t._v("Коротко характеризується сучасний рівень розв’язання\nданого завдання і взаємозв’язок з іншими проєктами по цій тематиці.")]),t._v(" "),e("p",[t._v("Наводяться\nосновні технічні характеристики розробки й очікуваний технічно-економічний ефект\nвід її реалізації.")])])}),[],!1,null,null,null);n.default=r.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{646:function(t,s,e){"use strict";e.r(s);var r=e(34),i=Object(r.a)({},(function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("h1",{attrs:{id:"розроблення-загальних-вимог-до-системи"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#розроблення-загальних-вимог-до-системи"}},[this._v("#")]),this._v(" Розроблення загальних вимог до системи")]),this._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/requirements/state-of-the-art.html"}},[this._v("Аналіз предметної області")])],1),this._v(" "),s("li",[s("RouterLink",{attrs:{to:"/requirements/stakeholders-needs.html"}},[this._v("Запити зацікавлених осіб")])],1)])])}),[],!1,null,null,null);s.default=i.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{647:function(e,r,t){"use strict";t.r(r);var o=t(34),n=Object(o.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("Серед наявних наразі сервісів порівняймо такі:")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://uk.wikipedia.org/wiki/Google_%D0%A4%D0%BE%D1%80%D0%BC%D0%B8",target:"_blank",rel:"noopener noreferrer"}},[e._v("Google Forms"),t("OutboundLink")],1),e._v(" -\nпрограмне забезпечення для адміністрування опитування, що входить до складу безкоштовного\nвебпакету Google Docs Editors, пропонованого Google. Google Форми доступні лише як вебдодаток.\nДодаток дозволяє користувачам створювати та редагувати опитування в Інтернеті, співпрацюючи з\nіншими користувачами в режимі реального часу.")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://en.wikipedia.org/wiki/SurveyMonkey",target:"_blank",rel:"noopener noreferrer"}},[e._v("SurveyMonkey"),t("OutboundLink")],1),e._v(" - компанія, що зокрема пропонує\nхмарне програмне забезпечення задля опитування працівників, клієнтів та інших категорій\nлюдей.")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://www.responsly.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("Responsly"),t("OutboundLink")],1),e._v(" - платформа для створення опитувань з можливостями їх\nгенерації за допомогою штучного інтелекту. Має зроблені заздалегідь шаблони для типових\nопитувань та конструктор власних.")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://www.jotform.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jotform"),t("OutboundLink")],1),e._v(" - це компанія, що надає послуги зі створення онлайн-форм.\nНадає можливість вбудовування оплати безпосередньо у створені форми.")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://www.questionpro.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("QuestionPro"),t("OutboundLink")],1),e._v(" - онлайн-сервіс для створення опитувань з можливістю обирати готові шаблони.")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://www.fillout.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fillout"),t("OutboundLink")],1),e._v(" - платформа для створення онлайн-форм, що робить акцент на застосуванні штучного інтелекту та розширених можливостях, зокрема отримання платежів та розгалуженій логіці переходів.")])])}),[],!1,null,null,null);r.default=n.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{651:function(t,s,e){"use strict";e.r(s);var n=e(34),r=Object(n.a)({},(function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("h1",{attrs:{id:"тестування-працездатності-системи"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#тестування-працездатності-системи"}},[this._v("#")]),this._v(" Тестування працездатності системи")]),this._v(" "),s("p",[s("em",[this._v("В цьому розділі необхідно вказати засоби тестування, навести вихідні коди тестів та результати тестування.")])])])}),[],!1,null,null,null);s.default=r.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{629:function(n,e,t){"use strict";t.r(e),t.d(e,"register",(function(){return o})),t.d(e,"unregister",(function(){return c}));var r;function o(n,e){void 0===e&&(e={});var t=e.registrationOptions;void 0===t&&(t={}),delete e.registrationOptions;var o=function(n){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];e&&e[n]&&e[n].apply(e,t)};"serviceWorker"in navigator&&r.then((function(){Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))?(!function(n,e,t){fetch(n).then((function(r){404===r.status?(e("error",new Error("Service worker not found at "+n)),c()):-1===r.headers.get("content-type").indexOf("javascript")?(e("error",new Error("Expected "+n+" to have javascript content-type, but received "+r.headers.get("content-type"))),c()):a(n,e,t)})).catch((function(n){return i(e,n)}))}(n,o,t),navigator.serviceWorker.ready.then((function(n){o("ready",n)})).catch((function(n){return i(o,n)}))):(a(n,o,t),navigator.serviceWorker.ready.then((function(n){o("ready",n)})).catch((function(n){return i(o,n)})))}))}function i(n,e){navigator.onLine||n("offline"),n("error",e)}function a(n,e,t){navigator.serviceWorker.register(n,t).then((function(n){e("registered",n),n.waiting?e("updated",n):n.onupdatefound=function(){e("updatefound",n);var t=n.installing;t.onstatechange=function(){"installed"===t.state&&(navigator.serviceWorker.controller?e("updated",n):e("cached",n))}}})).catch((function(n){return i(e,n)}))}function c(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(n){n.unregister()})).catch((function(n){return i(emit,n)}))}"undefined"!=typeof window&&(r="undefined"!=typeof Promise?new Promise((function(n){return window.addEventListener("load",n)})):{then:function(n){return window.addEventListener("load",n)}})}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{585:function(t,e,i){},620:function(t,e,i){"use strict";i(585)},634:function(t,e,i){"use strict";i.r(e);var n={name:"Details",props:{title:{type:String,default:"title"},content:{type:String,default:"title"}}},s=(i(620),i(34)),l=Object(s.a)(n,(function(){var t=this.$createElement,e=this._self._c||t;return e("details",[e("summary",[this._v(this._s(this.title))]),this._v(this._s(this.content)+" ")])}),[],!1,null,"5c5bfe02",null);e.default=l.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{590:function(t,e,n){},626:function(t,e,n){"use strict";n(590)},655:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}},r=(n(626),n(34)),p=Object(r.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=p.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{591:function(t,e,a){},627:function(t,e,a){"use strict";a(591)},639:function(t,e,a){"use strict";a.r(e);var n={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted:function(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(627),a(34)),s=Object(i.a)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=s.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{592:function(e,t,a){},628:function(e,t,a){"use strict";a(592)},640:function(e,t,a){"use strict";a.r(t);a(90),a(41),a(134),a(135);var o={name:"CodeGroup",data:function(){return{codeTabs:[],activeCodeTabIndex:-1}},watch:{activeCodeTabIndex:function(e){this.activateCodeTab(e)}},mounted:function(){this.loadTabs()},methods:{changeCodeTab:function(e){this.activeCodeTabIndex=e},loadTabs:function(){var e=this;this.codeTabs=(this.$slots.default||[]).filter((function(e){return Boolean(e.componentOptions)})).map((function(t,a){return""===t.componentOptions.propsData.active&&(e.activeCodeTabIndex=a),{title:t.componentOptions.propsData.title,elm:t.elm}})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab:function(e){this.codeTabs.forEach((function(e){e.elm&&e.elm.classList.remove("theme-code-block__active")})),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},n=(a(628),a(34)),c=Object(n.a)(o,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ClientOnly",[a("div",{staticClass:"theme-code-group"},[a("div",{staticClass:"theme-code-group__nav"},[a("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(t,o){return a("li",{key:t.title,staticClass:"theme-code-group__li"},[a("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(t.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?a("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{589:function(n,t,s){},625:function(n,t,s){"use strict";s(589)},638:function(n,t,s){"use strict";s.r(t);var i={name:"pros-cons",props:{intro:{type:String,required:!0},good:{type:Array,default:null},bad:{type:Array,default:null}}},a=(s(625),s(34)),e=Object(a.a)(i,(function(){var n=this,t=n.$createElement,s=n._self._c||t;return s("div",[s("p",{staticClass:"intro"},[n._v("\n "+n._s(n.intro)+"\n ")]),n._v(" "),s("div",{staticClass:"comparison"},[s("div",{staticClass:"comparison__container"},[n._m(0),n._v(" "),s("ul",n._l(n.good,(function(n){return s("li",{key:n,domProps:{innerHTML:n}})})),0)]),n._v(" "),s("div",{staticClass:"comparison__container comparison__container--donts"},[n._m(1),n._v(" "),s("ul",n._l(n.bad,(function(n){return s("li",{key:n,domProps:{innerHTML:n}})})),0)])])])}),[function(){var n=this.$createElement,t=this._self._c||n;return t("div",{staticClass:"comparison__heading"},[t("i",{staticClass:"material-icons blue-text"},[this._v("check")]),this._v("\n Pros\n ")])},function(){var n=this.$createElement,t=this._self._c||n;return t("div",{staticClass:"comparison__heading comparison__heading--donts"},[t("i",{staticClass:"material-icons"},[this._v("close")]),this._v("\n Cons\n ")])}],!1,null,"541222b7",null);t.default=e.exports}}]);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{566:function(n,o,e){},653:function(n,o,e){"use strict";e.r(o);e(566);var l={name:"Styles"},t=e(34),u=Object(t.a)(l,void 0,void 0,!1,null,null,null);o.default=u.exports}}]);
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<title>Висновки | Xpertise</title>
|
||||||
|
<meta name="generator" content="VuePress 1.8.2">
|
||||||
|
<link rel="icon" href="/edu-dis-labs/favicon.ico">
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
|
||||||
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||||
|
<meta name="description" content="Лабораторні роботи з дисципліни "Організація баз даних"">
|
||||||
|
|
||||||
|
<link rel="preload" href="/edu-dis-labs/assets/css/0.styles.683d4db1.css" as="style"><link rel="preload" href="/edu-dis-labs/assets/js/app.ef1e786b.js" as="script"><link rel="preload" href="/edu-dis-labs/assets/js/2.1dcc2d74.js" as="script"><link rel="preload" href="/edu-dis-labs/assets/js/18.51ffb2cf.js" as="script"><link rel="prefetch" href="/edu-dis-labs/assets/js/10.e50a5206.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/11.29ee89f8.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/12.0b4fa948.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/13.6b4a3ce8.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/14.2545c1ad.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/15.0aee5be2.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/16.ae758f43.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/17.b51d0d04.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/19.85d5c25e.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/20.45f25853.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/21.c178c591.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/22.3dfa983e.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/23.58c0e73a.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/24.1862bf96.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/25.d4ca4f91.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/26.a9d31514.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/27.678360d8.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/28.01bbdb4a.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/3.3d08d86c.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/4.4c193c95.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/5.dea68fdd.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/6.6d8c3d51.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/7.9617083c.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/8.53a1b2bd.js"><link rel="prefetch" href="/edu-dis-labs/assets/js/9.1882ecda.js">
|
||||||
|
<link rel="stylesheet" href="/edu-dis-labs/assets/css/0.styles.683d4db1.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/edu-dis-labs/" class="home-link router-link-active"><!----> <span class="site-name">Xpertise</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/edu-dis-labs/" class="nav-link">
|
||||||
|
Початок
|
||||||
|
</a></div> <a href="http://139.162.162.130:3000/hasslesstech/edu-dis-labs" target="_blank" rel="noopener noreferrer" class="repo-link">
|
||||||
|
Gitea
|
||||||
|
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/edu-dis-labs/" class="nav-link">
|
||||||
|
Початок
|
||||||
|
</a></div> <a href="http://139.162.162.130:3000/hasslesstech/edu-dis-labs" target="_blank" rel="noopener noreferrer" class="repo-link">
|
||||||
|
Gitea
|
||||||
|
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><a href="/edu-dis-labs/intro/" class="sidebar-link">Вступ</a></li><li><section class="sidebar-group collapsable depth-0"><a href="/edu-dis-labs/requirements/" class="sidebar-heading clickable"><span>Розроблення вимог до системи</span> <span class="arrow right"></span></a> <!----></section></li><li><a href="/edu-dis-labs/use-cases/" class="sidebar-link">Розроблення вимог до функціональности системи</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/edu-dis-labs/use-cases/#загальна-схема" class="sidebar-link">Загальна схема</a></li><li class="sidebar-sub-header"><a href="/edu-dis-labs/use-cases/#схеми-використання-для-окремих-діячів" class="sidebar-link">Схеми використання для окремих діячів</a></li><li class="sidebar-sub-header"><a href="/edu-dis-labs/use-cases/#сценаріі-використання" class="sidebar-link">Сценарії використання</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/edu-dis-labs/use-cases/#для-гостя" class="sidebar-link">Для гостя</a></li><li class="sidebar-sub-header"><a href="/edu-dis-labs/use-cases/#для-зареєстрованого-користувача" class="sidebar-link">Для зареєстрованого користувача</a></li></ul></li></ul></li><li><a href="/edu-dis-labs/design/" class="sidebar-link">Проєктування архітектури системи</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/edu-dis-labs/design/#be-модель" class="sidebar-link">BE модель</a></li><li class="sidebar-sub-header"><a href="/edu-dis-labs/design/#er-модель" class="sidebar-link">ER-модель</a></li><li class="sidebar-sub-header"><a href="/edu-dis-labs/design/#реляціина-схема" class="sidebar-link">Реляційна схема</a></li></ul></li><li><a href="/edu-dis-labs/software/" class="sidebar-link">Реалізація інформаційного та програмного забезпечення</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/edu-dis-labs/software/#sql-скрипт-для-створення-та-початкового-наповнення-бази-даних" class="sidebar-link">SQL-скрипт для створення та початкового наповнення бази даних</a></li></ul></li><li><a href="/edu-dis-labs/test/" class="sidebar-link">Тестування працездатності системи</a></li><li><a href="/edu-dis-labs/conclusion/" aria-current="page" class="active sidebar-link">Висновки</a></li><li><a href="/edu-dis-labs/api/" class="sidebar-link">API</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="висновки"><a href="#висновки" class="header-anchor">#</a> Висновки</h1> <p>У висновках наводять оцінку отриманих результатів, можливі галузі його використання. Висновки повинні містити в собі коротку узагальнену оцінку результатів розробки, у
|
||||||
|
тому числі і з погляду на їх технічно-економічну ефективність. Необхідно порівняти
|
||||||
|
отримані результати усіх характеристик об’єкта проєктування із завданням і з основними показниками сучасних аналогічних об’єктів.</p> <p>Необхідно вказати яке нове технічне рішення покладене в основу проєкту і у чому її
|
||||||
|
переваги, що нового було запропоновано самим студентом.</p> <p>На базі отриманих висновків можуть надаватися рекомендації по використанню розробки. Вони повинні
|
||||||
|
мати конкретний характер і бути цілком підтверджені проєктом.</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Останнє оновлення:</span> <span class="time">8/30/2021, 5:54:57 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
|
||||||
|
←
|
||||||
|
<a href="/edu-dis-labs/test/" class="prev">
|
||||||
|
Тестування працездатності системи
|
||||||
|
</a></span> <span class="next"><a href="/edu-dis-labs/api/">
|
||||||
|
API
|
||||||
|
</a>
|
||||||
|
→
|
||||||
|
</span></p></div> </main></div><div class="global-ui"><!----></div></div>
|
||||||
|
<script src="/edu-dis-labs/assets/js/app.ef1e786b.js" defer></script><script src="/edu-dis-labs/assets/js/2.1dcc2d74.js" defer></script><script src="/edu-dis-labs/assets/js/18.51ffb2cf.js" defer></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
css
|
|
||||||
dist
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
<template>
|
|
||||||
<details><summary>{{title}}</summary>{{content}} </details>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: 'Details',
|
|
||||||
props: {
|
|
||||||
title: {
|
|
||||||
type: String,
|
|
||||||
default: "title"
|
|
||||||
},
|
|
||||||
content: {
|
|
||||||
type: String,
|
|
||||||
default: "title"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
||||||
<style scoped lang="styl">
|
|
||||||
details {
|
|
||||||
border-radius: 3px;
|
|
||||||
background: #EEE;
|
|
||||||
}
|
|
||||||
details summary {
|
|
||||||
font-size: 17px;
|
|
||||||
vertical-align: top;
|
|
||||||
background: #333;
|
|
||||||
color: #FFF;
|
|
||||||
border-radius: 3px;
|
|
||||||
/* padding: 5px 10px; */
|
|
||||||
padding: 5px 0px;
|
|
||||||
outline: none;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -1,324 +0,0 @@
|
|||||||
<template>
|
|
||||||
<!--container-->
|
|
||||||
<section class="container">
|
|
||||||
|
|
||||||
<!-- transition -->
|
|
||||||
<transition :duration="{ enter: 500, leave: 300 }" enter-active-class="animated zoomIn" leave-active-class="animated zoomOut" mode="out-in">
|
|
||||||
|
|
||||||
<!--questionContainer-->
|
|
||||||
<div class="questionContainer" v-if="questionIndex<quiz.questions.length" v-bind:key="questionIndex">
|
|
||||||
<header>
|
|
||||||
<div class="shell">
|
|
||||||
<div class="bar" :style="{width: questionIndex/quiz.questions.length*100 + '%' }">
|
|
||||||
<span>{{(questionIndex/quiz.questions.length)*100}}%</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<!--/progress-->
|
|
||||||
|
|
||||||
<!-- questionTitle -->
|
|
||||||
<h2 class="titleContainer title">{{ quiz.questions[questionIndex] && quiz.questions[questionIndex].text }}</h2>
|
|
||||||
<!-- /questionTitle -->
|
|
||||||
<!-- quizOptions -->
|
|
||||||
<div class="optionContainer" v-if="quiz.questions[questionIndex]">
|
|
||||||
<div class="option" v-for="(response, index) in quiz.questions[questionIndex].responses" @click="selectOption(index)" :class="{ 'is-selected': userResponses[questionIndex] == index}" :key="index">
|
|
||||||
{{ index | charIndex }}. {{ response.text || "Mpthasdng"}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--quizFooter: navigation and progress-->
|
|
||||||
<footer class="questionFooter">
|
|
||||||
|
|
||||||
<!--pagination-->
|
|
||||||
<nav class="pagination" role="navigation" aria-label="pagination">
|
|
||||||
|
|
||||||
<!-- back button -->
|
|
||||||
<a class="button" v-on:click="prev();" :disabled="questionIndex < 1">
|
|
||||||
Back
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<!-- next button -->
|
|
||||||
<a class="button" :class="(userResponses[questionIndex]==null)?'':'is-active'" v-on:click="next();" :disabled="questionIndex>=quiz.questions.length">
|
|
||||||
{{ (userResponses[questionIndex]==null)?'Skip':'Next' }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</nav>
|
|
||||||
<!--/pagination-->
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
<!--/quizFooter-->
|
|
||||||
</div>
|
|
||||||
<!--/questionBox-->
|
|
||||||
<!--quizCompletedResult-->
|
|
||||||
<div v-if="questionIndex >= quiz.questions.length" v-bind:key="questionIndex" class="quizCompleted has-text-centered">
|
|
||||||
<!-- quizCompletedIcon: Achievement Icon -->
|
|
||||||
<span class="icon">
|
|
||||||
<i class="fa" :class="score() > 3 ?'fa-check-circle-o is-active':'fa-times-circle'"></i>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<!--resultTitleBlock-->
|
|
||||||
<h2 class="title">
|
|
||||||
You did {{ (score() / quiz.questions.length > 0.7 ?'an amazing':(score() / quiz.questions.length < 0.4 ?'a poor':'a good')) }} job!
|
|
||||||
</h2>
|
|
||||||
<p class="subtitle">
|
|
||||||
Total score: {{ score() }} / {{ quiz.questions.length }}
|
|
||||||
</p>
|
|
||||||
<br>
|
|
||||||
<a class="button" @click="restart()">restart <i class="fa fa-refresh"></i></a>
|
|
||||||
<!--/resultTitleBlock-->
|
|
||||||
</div>
|
|
||||||
</transition>
|
|
||||||
<!--/quizCompetedResult-->
|
|
||||||
</section>
|
|
||||||
<!--/container-->
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import * as quizzes from '../quizzes'
|
|
||||||
import Vue from 'vue';
|
|
||||||
export default {
|
|
||||||
name: 'Quiz',
|
|
||||||
props: {
|
|
||||||
quizNum: Number
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
let quizData
|
|
||||||
switch (this.quizNum) {
|
|
||||||
case 1:
|
|
||||||
quizData = quizzes.quiz1
|
|
||||||
break
|
|
||||||
case 2:
|
|
||||||
quizData = quizzes.quiz2
|
|
||||||
break
|
|
||||||
default:
|
|
||||||
quizData = quizzes.quiz1
|
|
||||||
break
|
|
||||||
}
|
|
||||||
const userResponseSkelaton = Array(quizData.questions.length).fill(null);
|
|
||||||
return {
|
|
||||||
quiz: quizData,
|
|
||||||
questionIndex: 0,
|
|
||||||
userResponses: userResponseSkelaton,
|
|
||||||
isActive: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
filters: {
|
|
||||||
charIndex: function(i) {
|
|
||||||
return String.fromCharCode(97 + i);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
restart: function(){
|
|
||||||
this.questionIndex=0;
|
|
||||||
this.userResponses=Array(this.quiz.questions.length).fill(null);
|
|
||||||
},
|
|
||||||
selectOption: function(index) {
|
|
||||||
this.$set(this.userResponses, this.questionIndex, index);
|
|
||||||
},
|
|
||||||
next: function() {
|
|
||||||
if (this.questionIndex < this.quiz.questions.length)
|
|
||||||
this.questionIndex++;
|
|
||||||
},
|
|
||||||
|
|
||||||
prev: function() {
|
|
||||||
if (this.quiz.questions.length > 0) this.questionIndex--;
|
|
||||||
},
|
|
||||||
// Return "true" count in userResponses
|
|
||||||
score: function() {
|
|
||||||
var score = 0;
|
|
||||||
for (let i = 0; i < this.userResponses.length; i++) {
|
|
||||||
if (
|
|
||||||
typeof this.quiz.questions[i].responses[
|
|
||||||
this.userResponses[i]
|
|
||||||
] !== "undefined" &&
|
|
||||||
this.quiz.questions[i].responses[this.userResponses[i]].correct
|
|
||||||
) {
|
|
||||||
score = score + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// calculate percentage
|
|
||||||
return score;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
||||||
<style scoped>
|
|
||||||
@import url("https://fonts.googleapis.com/css?family=Montserrat:400,400i,700");
|
|
||||||
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700");
|
|
||||||
.button {
|
|
||||||
transition: 0.3s;
|
|
||||||
}
|
|
||||||
.title, .subtitle {
|
|
||||||
font-family: Montserrat, sans-serif;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.animated {
|
|
||||||
transition-duration: 0.15s;
|
|
||||||
}
|
|
||||||
.container {
|
|
||||||
margin: 0 0.5rem;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
.questionBox {
|
|
||||||
max-width: 30rem;
|
|
||||||
width: 30rem;
|
|
||||||
min-height: 30rem;
|
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
border-radius: 0.5rem;
|
|
||||||
overflow: hidden;
|
|
||||||
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
|
|
||||||
}
|
|
||||||
.questionContainer header {
|
|
||||||
background-color: rgba(124, 32, 32, 0.025);
|
|
||||||
background: rgba(124, 32, 32, 0.025);
|
|
||||||
padding: 1.5rem;
|
|
||||||
text-align: center;
|
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
|
||||||
}
|
|
||||||
.questionContainer header h1 {
|
|
||||||
font-weight: bold;
|
|
||||||
margin-bottom: 1rem !important;
|
|
||||||
}
|
|
||||||
.progressContainer {
|
|
||||||
width: 60%;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.titleContainer {
|
|
||||||
text-align: center;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 1.5rem;
|
|
||||||
}
|
|
||||||
.quizForm {
|
|
||||||
display: block;
|
|
||||||
white-space: normal;
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.quizForm .quizFormContainer {
|
|
||||||
height: 100%;
|
|
||||||
margin: 15px 18px;
|
|
||||||
}
|
|
||||||
.quizForm .quizFormContainer .field-label {
|
|
||||||
text-align: left;
|
|
||||||
margin-bottom: 0.5rem;
|
|
||||||
}
|
|
||||||
.quizCompleted {
|
|
||||||
width: 100%;
|
|
||||||
padding: 1rem;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.quizCompleted > .icon {
|
|
||||||
color: #f86c6b;
|
|
||||||
font-size: 5rem;
|
|
||||||
}
|
|
||||||
.quizCompleted > .icon .is-active {
|
|
||||||
color: #4dbd74;
|
|
||||||
}
|
|
||||||
.questionContainer {
|
|
||||||
white-space: normal;
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.questionContainer .optionContainer {
|
|
||||||
margin-top: 12px;
|
|
||||||
flex-grow: 1;
|
|
||||||
}
|
|
||||||
.questionContainer .optionContainer .option {
|
|
||||||
border-radius: 290486px;
|
|
||||||
padding: 9px 18px;
|
|
||||||
margin: 0 18px;
|
|
||||||
margin-bottom: 12px;
|
|
||||||
transition: 0.3s;
|
|
||||||
cursor: pointer;
|
|
||||||
background-color: #73818f;
|
|
||||||
color: #f0f3f5;
|
|
||||||
border: transparent 1px solid;
|
|
||||||
}
|
|
||||||
.questionContainer .optionContainer .option.is-selected {
|
|
||||||
border-color: rgba(0, 0, 0, 0.25);
|
|
||||||
background-color: #834c9d;
|
|
||||||
}
|
|
||||||
.questionContainer .optionContainer .option:hover {
|
|
||||||
background-color: #B589D6;
|
|
||||||
}
|
|
||||||
.questionContainer .optionContainer .option:active {
|
|
||||||
transform: scaleX(0.9);
|
|
||||||
}
|
|
||||||
.questionContainer .questionFooter {
|
|
||||||
background: rgba(0, 0, 0, 0.025);
|
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.1);
|
|
||||||
width: 100%;
|
|
||||||
align-self: flex-end;
|
|
||||||
}
|
|
||||||
.questionContainer .questionFooter .pagination {
|
|
||||||
margin: 15px 25px;
|
|
||||||
}
|
|
||||||
.pagination {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
.button {
|
|
||||||
padding: 0.5rem 1rem;
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.25);
|
|
||||||
border-radius: 5rem;
|
|
||||||
margin: 0 0.25rem;
|
|
||||||
transition: 0.3s;
|
|
||||||
}
|
|
||||||
.button:hover {
|
|
||||||
cursor: pointer;
|
|
||||||
background: #552586;
|
|
||||||
border-color: rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
|
||||||
.button.is-active {
|
|
||||||
background: #834c9d;
|
|
||||||
color: white;
|
|
||||||
border-color: transparent;
|
|
||||||
}
|
|
||||||
.button.is-active:hover {
|
|
||||||
background: #0a2ffe;
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 769px) {
|
|
||||||
.questionBox {
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
.questionContainer {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 768px) {
|
|
||||||
.sidebar {
|
|
||||||
height: auto !important;
|
|
||||||
border-radius: 6px 6px 0px 0px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Custom Progress bar */
|
|
||||||
.shell {
|
|
||||||
height: 20px;
|
|
||||||
width: 250px;
|
|
||||||
border: 1px solid #73818f;
|
|
||||||
border-radius: 13px;
|
|
||||||
padding: 3px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.bar {
|
|
||||||
background: linear-gradient(to right, #B589D6, #804FB3);
|
|
||||||
height: 20px;
|
|
||||||
width: 15px;
|
|
||||||
border-radius: 9px;
|
|
||||||
}
|
|
||||||
.bar span {
|
|
||||||
float: right;
|
|
||||||
padding: 4px 5px;
|
|
||||||
color: #f0f3f5;
|
|
||||||
font-size: 0.7em;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
<script>
|
|
||||||
import "vue-good-table/dist/vue-good-table.css";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: "Styles",
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
</style>
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div>
|
|
||||||
<vue-good-table
|
|
||||||
:columns="columns"
|
|
||||||
:rows="rows"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { VueGoodTable } from 'vue-good-table';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'my-component',
|
|
||||||
|
|
||||||
// add to component
|
|
||||||
components: {
|
|
||||||
VueGoodTable,
|
|
||||||
},
|
|
||||||
data(){
|
|
||||||
return {
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
label: 'Name',
|
|
||||||
field: 'name',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Age',
|
|
||||||
field: 'age',
|
|
||||||
type: 'number',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Created On',
|
|
||||||
field: 'createdAt',
|
|
||||||
type: 'date',
|
|
||||||
dateInputFormat: 'yyyy-mm-dd',
|
|
||||||
dateOutputFormat: 'MMM Do yy',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Percent',
|
|
||||||
field: 'score',
|
|
||||||
type: 'percentage',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
rows: [
|
|
||||||
{ id:1, name:"John", age: 20, createdAt: '2011-10-31',score: 0.03343 },
|
|
||||||
{ id:2, name:"Jane", age: 24, createdAt: '2019-10-31', score: 0.03343 },
|
|
||||||
{ id:3, name:"Susan", age: 16, createdAt: '2011-10-30', score: 0.03343 },
|
|
||||||
{ id:4, name:"Chris", age: 55, createdAt: '2011-10-11', score: 0.03343 },
|
|
||||||
{ id:5, name:"Dan", age: 40, createdAt: '2011-10-21', score: 0.03343 },
|
|
||||||
{ id:6, name:"John", age: 20, createdAt: '2011-10-31', score: 0.03343 },
|
|
||||||
],
|
|
||||||
};
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
// .vuepress/components/sample-timeline.vue
|
|
||||||
<template>
|
|
||||||
<timeline timeline-theme="lightblue">
|
|
||||||
<timeline-title bg-color="#09FFAA">Prehistoric hunters cross over into Canada from Asia</timeline-title>
|
|
||||||
<timeline-item bg-color="#9dd8e0"> Leif Ericsson leads a Viking expedition to the New World</timeline-item>
|
|
||||||
<timeline-item bg-color="#9dFFe0">First Year 1B</timeline-item>
|
|
||||||
<timeline-item bg-color="#FFF000">Accepted Computer Engineering</timeline-item>
|
|
||||||
<timeline-item bg-color="#cFe8eF">The Iroquois Confederacy is formed</timeline-item>
|
|
||||||
<timeline-item bg-color="#97Aec8">John Cabot reaches Newfoundland (or perhaps Cape Breton)</timeline-item>
|
|
||||||
<timeline-item bg-color="#5744D4">Jacques Cartier first explores the St. Lawrence region</timeline-item>
|
|
||||||
<timeline-item bg-color="#0F4859">Second Year 2B</timeline-item>
|
|
||||||
<timeline-item bg-color="#094341">Samuel de Champlain establishes a French colony at Québec City</timeline-item>
|
|
||||||
<timeline-item bg-color="#825F03">Hudson’s Bay Company is formed</timeline-item>
|
|
||||||
<timeline-item bg-color="#954F08">Expulsion of the Acadians</timeline-item>
|
|
||||||
<timeline-item bg-color="#A71490">Battle of the Plains of Abraham: Québec City is captured</timeline-item>
|
|
||||||
<timeline-item bg-color="#C084A9">New France is formally ceded to Britain; Pontiac Rebellion erupts</timeline-item>
|
|
||||||
<timeline-item bg-color="#7B71C2">Loyalist refugees begin arriving after the American Revolution</timeline-item>
|
|
||||||
<timeline-item bg-color="#2348B1">War of 1812: U.S. invades Canada</timeline-item>
|
|
||||||
<timeline-item bg-color="#915F15">Rebellions against British rule in Upper and Lower Canada</timeline-item>
|
|
||||||
<timeline-item bg-color="#0909FA"> Responsible government is won, first in Nova Scotia, then in Canada</timeline-item>
|
|
||||||
</timeline>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { Timeline, TimelineItem, TimelineTitle } from 'vue-cute-timeline'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'sample-timeline',
|
|
||||||
components: {
|
|
||||||
Timeline,
|
|
||||||
TimelineItem,
|
|
||||||
TimelineTitle,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
@@ -1,211 +0,0 @@
|
|||||||
// .vuepress/config.js
|
|
||||||
// missing markdownItAds boostnote admonitions
|
|
||||||
const fs = require('fs')
|
|
||||||
const path = require('path')
|
|
||||||
const util = require('util')
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
base: '/vuepress-theme-cool-starter/',
|
|
||||||
theme: 'cool',
|
|
||||||
//dest: 'dist',
|
|
||||||
head: [
|
|
||||||
['link', { rel: 'icon', href: '/faviconCustom.ico' }],
|
|
||||||
['link', { rel: 'stylesheet', href: 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css' }],
|
|
||||||
['link', {href: 'https://fonts.googleapis.com/icon?family=Material+Icons', rel :'stylesheet'}]
|
|
||||||
],
|
|
||||||
plugins: [
|
|
||||||
'@vuepress/last-updated',
|
|
||||||
'@vuepress/back-to-top',
|
|
||||||
'@vuepress/pwa'
|
|
||||||
],
|
|
||||||
themeConfig: {
|
|
||||||
// logo: './myAvatar.png',
|
|
||||||
sidebar: genSideBar('.'),
|
|
||||||
sidebarDepth: 2,
|
|
||||||
displayAllHeaders: true, // Default: false themeConfig: {
|
|
||||||
nav: genNavBarList(),
|
|
||||||
lastUpdated: 'Last Updated', // string | boolean
|
|
||||||
// Assumes GitHub. Can also be a full GitLab url.
|
|
||||||
repo: 'FriendlyUser/vuepress-theme-cool-starter',
|
|
||||||
// Customising the header label
|
|
||||||
// Defaults to "GitHub"/"GitLab"/"Bitbucket" depending on `themeConfig.repo`
|
|
||||||
repoLabel: 'Contribute!',
|
|
||||||
// Optional options for generating "Edit this page" link
|
|
||||||
// if your docs are in a different repo from your main project:
|
|
||||||
//docsRepo: 'FriendlyUser/markdown-notes-template',
|
|
||||||
// if your docs are not at the root of the repo:
|
|
||||||
//docsDir: 'docs',
|
|
||||||
// if your docs are in a specific branch (defaults to 'master'):
|
|
||||||
docsBranch: 'gh-pages',
|
|
||||||
// defaults to false, set to true to enable
|
|
||||||
editLinks: true,
|
|
||||||
// custom text for edit link. Defaults to "Edit this page"
|
|
||||||
editLinkText: 'Help us improve this page!'
|
|
||||||
|
|
||||||
},
|
|
||||||
title: 'Vuepress Theme Cool Starter',
|
|
||||||
description: 'Example project to get started with the vuepress-theme-cool',
|
|
||||||
configureWebpack: {
|
|
||||||
resolve: {
|
|
||||||
alias: {
|
|
||||||
'@alias': '../img'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
plugins: {
|
|
||||||
'@vuepress/pwa': { serviceWorker: true,
|
|
||||||
updatePopup: {
|
|
||||||
message: "New content is available.",
|
|
||||||
buttonText: "Refresh"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
markdown: {
|
|
||||||
extendMarkdown: md => {
|
|
||||||
md.set({ html: true })
|
|
||||||
md.use(require('markdown-it-katex'))
|
|
||||||
md.use(require('markdown-it-plantuml'))
|
|
||||||
md.use(require('markdown-it-admonition'))
|
|
||||||
md.use(require('markdown-it-task-lists'))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Helper functions
|
|
||||||
function fromDir(startPath,filter,callback){
|
|
||||||
|
|
||||||
//console.log('Starting from dir '+startPath+'/');
|
|
||||||
if (!fs.existsSync(startPath)){
|
|
||||||
console.log("no dir ",startPath);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var files=fs.readdirSync(startPath);
|
|
||||||
for(var i=0;i<files.length;i++){
|
|
||||||
var filename=path.join(startPath,files[i]);
|
|
||||||
var stat = fs.lstatSync(filename);
|
|
||||||
if (stat.isDirectory()){
|
|
||||||
fromDir(filename,filter,callback); //recurse
|
|
||||||
}
|
|
||||||
else if (filter.test(filename)) callback(filename);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
function getDirectories(path) {
|
|
||||||
return fs.readdirSync(path).filter(function (file) {
|
|
||||||
if (file != '.vuepress') {
|
|
||||||
return fs.statSync(path+'/'+file).isDirectory();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getFilesInDir(directoryName) {
|
|
||||||
var files = []
|
|
||||||
// sidebar settings
|
|
||||||
const relPath = path.join('docs', directoryName)
|
|
||||||
fromDir(relPath,/\.md$/,function(filename){
|
|
||||||
console.log('-- found: ',filename);
|
|
||||||
files.push(filename)
|
|
||||||
});
|
|
||||||
return files
|
|
||||||
}
|
|
||||||
|
|
||||||
// Base file names with removed file extensions
|
|
||||||
function getFilesInDirBase(directoryName) {
|
|
||||||
var files = []
|
|
||||||
// sidebar settings
|
|
||||||
const relPath = path.join('docs', directoryName)
|
|
||||||
fromDir(relPath,/\.md$/,function(filename){
|
|
||||||
let baseName = path.basename(filename)
|
|
||||||
// this it will fail on files without extension, see https://stackoverflow.com/questions/4250364/how-to-trim-a-file-extension-from-a-string-in-javascript
|
|
||||||
baseName = baseName.split('.').slice(0, -1).join('.')
|
|
||||||
|
|
||||||
// Add README as '', and everything else as standard
|
|
||||||
if (baseName.toUpperCase() == 'README') {
|
|
||||||
files.push('Home')
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
files.push(baseName)
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return files
|
|
||||||
}
|
|
||||||
|
|
||||||
// pass in the folder relative to the folder docs
|
|
||||||
function genSideBarConfigFolder (titleName, directoryName) {
|
|
||||||
const rawFilePaths = getFilesInDirBase(directoryName)
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
title: titleName,
|
|
||||||
collapsable: true,
|
|
||||||
children: rawFilePaths
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
function genSideBar (directoryName) {
|
|
||||||
const dirNames = getFilesInDirBase(directoryName)
|
|
||||||
let markdownArray = []
|
|
||||||
for (var i = 0; i < dirNames.length; i++) {
|
|
||||||
let stringValue = dirNames[i].toString()
|
|
||||||
if(stringValue === 'Home' || stringValue === '') {
|
|
||||||
markdownArray.push('')
|
|
||||||
} else {
|
|
||||||
markdownArray.push(stringValue)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const sideBarConfig = {
|
|
||||||
'/': markdownArray
|
|
||||||
}
|
|
||||||
console.log(sideBarConfig)
|
|
||||||
return sideBarConfig
|
|
||||||
}
|
|
||||||
|
|
||||||
// doesn't work, fix later, can't figure out how to generate { text: link:} recursively? Or maybe have another function that returns text: link
|
|
||||||
function genNavBarList() {
|
|
||||||
let dirNames = []
|
|
||||||
// navbar settings
|
|
||||||
dirNames = getFilesInDirBase('.')
|
|
||||||
let navBarNames = [];
|
|
||||||
|
|
||||||
var numOfDirs = dirNames.length;
|
|
||||||
for (var i = 0; i < numOfDirs; i++) {
|
|
||||||
let stringValue = dirNames[i].toString()
|
|
||||||
// convert - to capitialization
|
|
||||||
stringValue = transformToUpperCase(stringValue)
|
|
||||||
let linkValue = '/'
|
|
||||||
if (stringValue !== 'Home') {
|
|
||||||
linkValue = `/${stringValue}/`
|
|
||||||
}
|
|
||||||
|
|
||||||
// @todo change loop to iterate for nested directories
|
|
||||||
if (true) {
|
|
||||||
navBarNames.push(genNavBarItem(stringValue,linkValue))
|
|
||||||
}
|
|
||||||
// last entry
|
|
||||||
else {
|
|
||||||
//navBarNames = navBarNames + "{ text : \'" + stringValue + "\', " + "link: " + "\'/" + stringValue + "/\'}, \n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return navBarNames
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function genNavBarItem(textValue, linkValue) {
|
|
||||||
return {
|
|
||||||
text: textValue,
|
|
||||||
link: linkValue
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function transformToUpperCase(str) {
|
|
||||||
let upperString = str
|
|
||||||
upperString = upperString.replace(/-/g, ' ');
|
|
||||||
upperString = upperString.split(" ");
|
|
||||||
for (var i = 0, x = upperString.length; i < x; i++) {
|
|
||||||
upperString[i] = upperString[i][0].toUpperCase() + upperString[i].substr(1);
|
|
||||||
}
|
|
||||||
return upperString.join(" ");
|
|
||||||
}
|
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
// .vuepress/config.js
|
|
||||||
module.exports = {
|
|
||||||
plugins: [
|
|
||||||
'@vuepress/back-to-top',
|
|
||||||
'@vuepress/pwa',
|
|
||||||
{
|
|
||||||
serviceWorker: true,
|
|
||||||
updatePopup: true
|
|
||||||
},
|
|
||||||
,
|
|
||||||
['container', {
|
|
||||||
type: 'vue',
|
|
||||||
before: '<pre class="vue-container"><code>',
|
|
||||||
after: '</code></pre>'
|
|
||||||
}]
|
|
||||||
],
|
|
||||||
port: 3030,
|
|
||||||
base: '/edu-dis-labs/',
|
|
||||||
theme: 'cool',
|
|
||||||
// dest: 'dist',
|
|
||||||
head: [
|
|
||||||
['link', { rel: 'icon', href: '/favicon.ico' }],
|
|
||||||
['link', { rel: 'stylesheet', href: 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css' }],
|
|
||||||
['link', {href: 'https://fonts.googleapis.com/icon?family=Material+Icons', rel :'stylesheet'}],
|
|
||||||
|
|
||||||
],
|
|
||||||
themeConfig: {
|
|
||||||
// logo: './myAvatar.png',
|
|
||||||
sidebar: [
|
|
||||||
|
|
||||||
{
|
|
||||||
title: 'Вступ',
|
|
||||||
path:"/intro/"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
title: 'Розроблення вимог до системи',
|
|
||||||
path:"/requirements/",
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
title: 'Проєктування архітектури системи',
|
|
||||||
path:"/design/"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
title: 'Реалізація інформаційного та програмного забезпечення',
|
|
||||||
path:"/software/"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
title: 'Тестування працездатності системи',
|
|
||||||
path:"/test/"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
title: 'Висновки',
|
|
||||||
path:"/conclusion/"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
title: 'API',
|
|
||||||
path:"/api/"
|
|
||||||
}
|
|
||||||
|
|
||||||
],
|
|
||||||
sidebarDepth: 2,
|
|
||||||
displayAllHeaders: true, // Default: false
|
|
||||||
|
|
||||||
|
|
||||||
nav: [
|
|
||||||
{ text: 'Початок', link: '/' },
|
|
||||||
],
|
|
||||||
|
|
||||||
lastUpdated: 'Останнє оновлення', // string | boolean
|
|
||||||
// Assumes GitHub. Can also be a full GitLab url.
|
|
||||||
repo: 'http://139.162.162.130:3000/hasslesstech/edu-dis-labs',
|
|
||||||
// Customising the header label
|
|
||||||
// Defaults to "GitHub"/"GitLab"/"Bitbucket" depending on `themeConfig.repo`
|
|
||||||
repoLabel: 'Gitea',
|
|
||||||
|
|
||||||
// Optional options for generating "Edit this page" link
|
|
||||||
|
|
||||||
// if your docs are in a different repo from your main project:
|
|
||||||
// docsRepo: 'boldak/dis-edu',
|
|
||||||
// if your docs are not at the root of the repo:
|
|
||||||
docsDir: 'docs',
|
|
||||||
// if your docs are in a specific branch (defaults to 'master'):
|
|
||||||
docsBranch: 'master',
|
|
||||||
// defaults to false, set to true to enable
|
|
||||||
// editLinks: true,
|
|
||||||
// custom text for edit link. Defaults to "Edit this page"
|
|
||||||
// editLinkText: 'Ви можете покращити цю сторінку'
|
|
||||||
|
|
||||||
},
|
|
||||||
title: 'Назва проєкту',
|
|
||||||
description: 'Лабораторні роботи з дисципліни "Розподілені інформаційні системи"',
|
|
||||||
configureWebpack: {
|
|
||||||
resolve: {
|
|
||||||
alias: {
|
|
||||||
'@alias': '../img'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
markdown: {
|
|
||||||
extendMarkdown: md => {
|
|
||||||
md.set({ html: true })
|
|
||||||
md.use(require('markdown-it-katex'))
|
|
||||||
md.use(require('markdown-it-plantuml'))
|
|
||||||
md.use(require('markdown-it-admonition'))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
import Vuex from 'vuex'
|
|
||||||
|
|
||||||
import VueChartkick from 'vue-chartkick'
|
|
||||||
import Chart from 'chart.js'
|
|
||||||
import VueGoodTablePlugin from 'vue-good-table';
|
|
||||||
|
|
||||||
// The styles are important in another component because of the way webpack is configured
|
|
||||||
// import 'vue-good-table/dist/vue-good-table.css'
|
|
||||||
export default ({ Vue, options, router, siteData }) => {
|
|
||||||
Vue.use(Vuex)
|
|
||||||
Vue.use(VueChartkick, {adapter: Chart})
|
|
||||||
Vue.use(VueGoodTablePlugin)
|
|
||||||
Vue.mixin({
|
|
||||||
computed: {
|
|
||||||
$title() {
|
|
||||||
const page = this.$page
|
|
||||||
const siteTitle = this.$siteTitle
|
|
||||||
const selfTitle = page.frontmatter.home ? null : (
|
|
||||||
page.frontmatter.title || // explicit title
|
|
||||||
(page.title ? page.title.replace(/[_`]/g, '') : '') // inferred title
|
|
||||||
)
|
|
||||||
return siteTitle
|
|
||||||
? selfTitle
|
|
||||||
? (selfTitle + ' | ' + siteTitle)
|
|
||||||
: siteTitle
|
|
||||||
: selfTitle || 'VuePress'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
import quiz1 from './quiz1.json'
|
|
||||||
import quiz2 from './quiz2.json'
|
|
||||||
|
|
||||||
export {
|
|
||||||
quiz1,
|
|
||||||
quiz2
|
|
||||||
}
|
|
||||||
@@ -1,185 +0,0 @@
|
|||||||
{
|
|
||||||
"user": "Dave",
|
|
||||||
"questions": [
|
|
||||||
{
|
|
||||||
"text": "What is the full form of HTTP?",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "Hyper text transfer package"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Hyper text transfer protocol",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Hyphenation text test program"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "None of the above"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "HTML document start and end with which tag pairs?",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "HTML",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "WEB"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "HEAD"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "BODY"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Which tag is used to create body text in HTML?",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "HEAD"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "BODY",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "TITLE"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "TEXT"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Outlook Express is _________",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "E-Mail Client",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Browser"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Search Engine"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "None of the above"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "What is a search engine?",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "A hardware component "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "A machinery engine that search data"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "A web site that searches anything",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "A program that searches engines"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "What does the .com domain represents?",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "Network"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Education"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Commercial",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "None of the above"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "In Satellite based communication, VSAT stands for? ",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": " Very Small Aperture Terminal",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Varying Size Aperture Terminal "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Very Small Analog Terminal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "None of the above"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "What is the full form of TCP/IP? ",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "Telephone call protocol / international protocol"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Transmission control protocol / internet protocol",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Transport control protocol / internet protocol "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "None of the above"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "What is the full form of HTML?",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "Hyper text marking language"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Hyphenation text markup language "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Hyper text markup language",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Hyphenation test marking language"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "\"Yahoo\", \"Infoseek\" and \"Lycos\" are _________?",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "Browsers "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Search Engines",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "News Group"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "None of the above"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
{
|
|
||||||
"user": "Dave",
|
|
||||||
"questions": [
|
|
||||||
{
|
|
||||||
"text": "Who is the Batman",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "Laughing Bat"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Bruce Wayne",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Dick Grayson"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "None of the above"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "\"Yahoo\", \"Infoseek\" and \"Lycos\" are _________?",
|
|
||||||
"responses": [
|
|
||||||
{
|
|
||||||
"text": "Browsers "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Search Engines",
|
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "News Group"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "None of the above"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,179 +0,0 @@
|
|||||||
@import url(https://fonts.googleapis.com/icon?family=Material+Icons)
|
|
||||||
.admonition.note,
|
|
||||||
.admonition.hint,
|
|
||||||
.admonition.danger,
|
|
||||||
.admonition.caution,
|
|
||||||
.admonition.error,
|
|
||||||
.admonition.attention {
|
|
||||||
box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
|
|
||||||
position: relative;
|
|
||||||
margin: 1.5625em 0;
|
|
||||||
padding: 0 1.2rem;
|
|
||||||
border-left: 0.4rem solid #448aff;
|
|
||||||
border-radius: 0.2rem;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
html .admonition>:last-child {
|
|
||||||
margin-bottom: 1.2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition .admonition {
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition p {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.note>.admonition-title:before,
|
|
||||||
.admonition.hint>.admonition-title:before,
|
|
||||||
.admonition.danger>.admonition-title:before,
|
|
||||||
.admonition.caution>.admonition-title:before,
|
|
||||||
.admonition.error>.admonition-title:before,
|
|
||||||
.admonition.attention>.admonition-title:before {
|
|
||||||
position: absolute;
|
|
||||||
left: 1.2rem;
|
|
||||||
font-family: "Material Icons";
|
|
||||||
font-size: 24px;
|
|
||||||
display: inline-block;
|
|
||||||
line-height: 1;
|
|
||||||
text-transform: none;
|
|
||||||
letter-spacing: normal;
|
|
||||||
word-wrap: normal;
|
|
||||||
white-space: nowrap;
|
|
||||||
direction: ltr;
|
|
||||||
/* Support for all WebKit browsers. */
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
/* Support for Safari and Chrome. */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
/* Support for Firefox. */
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
/* Support for IE. */
|
|
||||||
font-feature-settings: 'liga';
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.note>.admonition-title,
|
|
||||||
.admonition.hint>.admonition-title,
|
|
||||||
.admonition.danger>.admonition-title,
|
|
||||||
.admonition.caution>.admonition-title,
|
|
||||||
.admonition.error>.admonition-title,
|
|
||||||
.admonition.attention>.admonition-title {
|
|
||||||
margin: 0 -1.2rem;
|
|
||||||
padding: 0.8rem 1.2rem 0.8rem 4rem;
|
|
||||||
border-bottom: 0.1rem solid rgba(68,138,255,0.1);
|
|
||||||
background-color: rgba(68,138,255,0.1);
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition>.admonition-title:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.note {
|
|
||||||
border-left-color: #448aff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.note>.admonition-title {
|
|
||||||
border-bottom-color: 0.1rem solid rgba(68,138,255,0.1);
|
|
||||||
background-color: rgba(68,138,255,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.note>.admonition-title:before {
|
|
||||||
color: #448aff;
|
|
||||||
content: "note";
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.hint {
|
|
||||||
border-left-color: #00bfa5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.hint>.admonition-title {
|
|
||||||
border-bottom-color: 0.1rem solid rgba(0,191,165,0.1);
|
|
||||||
background-color: rgba(0,191,165,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.hint>.admonition-title:before {
|
|
||||||
color: #00bfa5;
|
|
||||||
content: "info";
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.danger {
|
|
||||||
border-left-color: #ff1744;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.danger>.admonition-title {
|
|
||||||
border-bottom-color: 0.1rem solid rgba(255,23,68,0.1);
|
|
||||||
background-color: rgba(255,23,68,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.danger>.admonition-title:before {
|
|
||||||
color: #ff1744;
|
|
||||||
content: "block";
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.caution {
|
|
||||||
border-left-color: #ff9100;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.caution>.admonition-title {
|
|
||||||
border-bottom-color: 0.1rem solid rgba(255,145,0,0.1);
|
|
||||||
background-color: rgba(255,145,0,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.caution>.admonition-title:before {
|
|
||||||
color: #ff9100;
|
|
||||||
content: "warning";
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.error {
|
|
||||||
border-left-color: #ff1744;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.error>.admonition-title {
|
|
||||||
border-bottom-color: 0.1rem solid rgba(255,23,68,0.1);
|
|
||||||
background-color: rgba(255,23,68,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.error>.admonition-title:before {
|
|
||||||
color: #ff1744;
|
|
||||||
content: "error";
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.attention {
|
|
||||||
border-left-color: #64dd17;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.attention>.admonition-title {
|
|
||||||
border-bottom-color: 0.1rem solid rgba(100,221,23,0.1);
|
|
||||||
background-color: rgba(100,221,23,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.attention>.admonition-title:before {
|
|
||||||
color: #64dd17;
|
|
||||||
content: "priority_high";
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-size 16px;
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
|
|
||||||
.theme-default-content:not(.custom) {
|
|
||||||
max-width: 950px;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 2rem 2.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-heading {
|
|
||||||
color: #2c3e50;
|
|
||||||
transition: color 0.15s ease;
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 1em !important;
|
|
||||||
font-weight: 500 !important;
|
|
||||||
padding: 0.35rem 1.5rem 0.35rem 1.25rem;
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin: 0;
|
|
||||||
border-left: 0.25rem solid transparent;
|
|
||||||
}
|
|
||||||
@@ -1,89 +0,0 @@
|
|||||||
// showing default values
|
|
||||||
$accentColor = #0984e3
|
|
||||||
$textColor = #2c3e50
|
|
||||||
$borderColor = #eaecef
|
|
||||||
$codeBgColor = #282c34
|
|
||||||
|
|
||||||
$admonition
|
|
||||||
box-shadow 0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)
|
|
||||||
position relative
|
|
||||||
margin 1.5625em 0
|
|
||||||
padding 0 1.2rem
|
|
||||||
border-left .4rem solid #448aff
|
|
||||||
border-radius .2rem
|
|
||||||
overflow auto
|
|
||||||
|
|
||||||
html .admonition>:last-child
|
|
||||||
margin-bottom 1.2rem
|
|
||||||
|
|
||||||
.admonition .admonition
|
|
||||||
margin 1em 0
|
|
||||||
|
|
||||||
.admonition p
|
|
||||||
margin-top: 0.5em
|
|
||||||
|
|
||||||
$admonition-icon
|
|
||||||
position absolute
|
|
||||||
left 1.2rem
|
|
||||||
font-family: "Material Icons"
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
font-size: 24px
|
|
||||||
display: inline-block;
|
|
||||||
line-height: 1;
|
|
||||||
text-transform: none;
|
|
||||||
letter-spacing: normal;
|
|
||||||
word-wrap: normal;
|
|
||||||
white-space: nowrap;
|
|
||||||
direction: ltr;
|
|
||||||
|
|
||||||
/* Support for all WebKit browsers. */
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
/* Support for Safari and Chrome. */
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
|
|
||||||
/* Support for Firefox. */
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
|
|
||||||
/* Support for IE. */
|
|
||||||
font-feature-settings: 'liga';
|
|
||||||
|
|
||||||
$admonition-title
|
|
||||||
margin 0 -1.2rem
|
|
||||||
padding .8rem 1.2rem .8rem 4rem
|
|
||||||
border-bottom .1rem solid rgba(68,138,255,.1)
|
|
||||||
background-color rgba(68,138,255,.1)
|
|
||||||
font-weight 700
|
|
||||||
|
|
||||||
.admonition>.admonition-title:last-child
|
|
||||||
margin-bottom 0
|
|
||||||
|
|
||||||
admonition_types = {
|
|
||||||
note: {color: #0288D1, icon: "edit_sharp"},
|
|
||||||
abstract: {color: #c5d845, icon: "speaker_notes_filled"},
|
|
||||||
info: {color: #19d8f5, icon: "info"}
|
|
||||||
tip: {color: #00bfa5, icon: "code"},
|
|
||||||
success: {color: #00c853, icon: "check_circle_outline"},
|
|
||||||
question: {color: #64dd17, icon: "help"},
|
|
||||||
warning: {color: #ff9100, icon: "warning"},
|
|
||||||
failure: {color: #ff5252, icon: "close"},
|
|
||||||
danger: {color: #c2185b, icon: "flash_on"},
|
|
||||||
bug: {color: #e040fb, icon: "bug_report"},
|
|
||||||
example: {color: #651fff, icon: "format_list_numbered_rtl"},
|
|
||||||
quote: {color: #9e9e9e, icon: "format_quote"}
|
|
||||||
}
|
|
||||||
|
|
||||||
for name, val in admonition_types
|
|
||||||
.admonition.{name}
|
|
||||||
@extend $admonition
|
|
||||||
border-left-color: val[color]
|
|
||||||
|
|
||||||
.admonition.{name}>.admonition-title
|
|
||||||
@extend $admonition-title
|
|
||||||
border-bottom-color: .1rem solid rgba(val[color], 0.2)
|
|
||||||
background-color: rgba(val[color], 0.2)
|
|
||||||
|
|
||||||
.admonition.{name}>.admonition-title:before
|
|
||||||
@extend $admonition-icon
|
|
||||||
color: val[color]
|
|
||||||
content: val[icon]
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
---
|
|
||||||
home: true
|
|
||||||
actionText: Розпочати →
|
|
||||||
actionLink: /intro/
|
|
||||||
|
|
||||||
footer: "ECL 2.0 Licensed | Copyright © 2024 [Your Name]"
|
|
||||||
---
|
|
||||||
|
|
||||||
**Виконали:**
|
|
||||||
|
|
||||||
*студенти 2-го курсу, групи ІО-23:*
|
|
||||||
|
|
||||||
*Олег ШМУЛЯР [shmuliar1@ukr.net, [@dmytrofiot23](https://t.me/dmytrofiot23)]*
|
|
||||||
|
|
||||||
*Андрій БОДНАР [bodnarandrew123@gmail.com, [@andrux4](https://t.me/andrux4)]*
|
|
||||||
|
|
||||||
*Андрій ШВЕД [andreyfrog26@gmail.com, [@Rhinemann](https://t.me/Rhinemann)]*
|
|
||||||
|
|
||||||
*Євгеній ГОЛОВАТЕНКО [ievgeniigol@gmail.com, [@yevholova](https://t.me/yevholova)]*
|
|
||||||
|
|
||||||
*Вікторія ВОДЯНА [vodyanayaviktoria@gmail.com, [@victoriavodyana](https://t.me/victoriavodyana)]*
|
|
||||||
|
|
||||||
*Михайло КОРБУТ [korbutmykhailo@gmail.com, [@misha1tigr](https://t.me/misha1tigr)]*
|
|
||||||
|
|
||||||
*Олександр ГУРАНЕЦЬ [bacant150@gmail.com, [@Bacant150](https://t.me/Bacant150)]*
|
|
||||||
|
|
||||||
|
|
||||||
**Керівник**
|
|
||||||
|
|
||||||
*доцент кафедри ОТ ФІОТ, к.т.н., доцент*<span padding-right:5em></span> **Андрій БОЛДАК**
|
|
||||||
|
|
||||||
[НТУУ "КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО](https://kpi.ua/)
|
|
||||||
|
|
||||||
[Факультет інформатики та обчислювальної техніки](https://fiot.kpi.ua/)
|
|
||||||
|
|
||||||
[Кафедра обчислювальної техніки](https://comsys.kpi.ua/)
|
|
||||||
|
|
||||||
Київ
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# Висновки
|
|
||||||
|
|
||||||
У висновках наводять оцінку отриманих результатів, можливі галузі його використання. Висновки повинні містити в собі коротку узагальнену оцінку результатів розробки, у
|
|
||||||
тому числі і з погляду на їх технічно-економічну ефективність. Необхідно порівняти
|
|
||||||
отримані результати усіх характеристик об’єкта проєктування із завданням і з основними показниками сучасних аналогічних об’єктів.
|
|
||||||
|
|
||||||
Необхідно вказати яке нове технічне рішення покладене в основу проєкту і у чому її
|
|
||||||
переваги, що нового було запропоновано самим студентом.
|
|
||||||
|
|
||||||
На базі отриманих висновків можуть надаватися рекомендації по використанню розробки. Вони повинні
|
|
||||||
мати конкретний характер і бути цілком підтверджені проєктом.
|
|
||||||
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
# Проєктування системи
|
|
||||||
|
|
||||||
|
|
||||||
Вбудовування зображень діаграм здійснюється з використанням сервісу [plantuml.com](https://plantuml.com/).
|
|
||||||
|
|
||||||
В markdown-файлі використовується опис діаграми
|
|
||||||
|
|
||||||
```md
|
|
||||||
|
|
||||||
<center style="
|
|
||||||
border-radius:4px;
|
|
||||||
border: 1px solid #cfd7e6;
|
|
||||||
box-shadow: 0 1px 3px 0 rgba(89,105,129,.05), 0 1px 1px 0 rgba(0,0,0,.025);
|
|
||||||
padding: 1em;"
|
|
||||||
>
|
|
||||||
|
|
||||||
@startuml
|
|
||||||
|
|
||||||
participant Client
|
|
||||||
|
|
||||||
participant SR as "Service Registry"
|
|
||||||
|
|
||||||
participant Service
|
|
||||||
|
|
||||||
Service -> SR : register
|
|
||||||
SR -> SR
|
|
||||||
SR --> Service
|
|
||||||
...
|
|
||||||
|
|
||||||
SR -> Service: heartbeat
|
|
||||||
SR <-- Service: health
|
|
||||||
...
|
|
||||||
|
|
||||||
Client -> SR: find
|
|
||||||
Client <-- SR: service endpoint
|
|
||||||
Client -> Service: request
|
|
||||||
Client <-- Service: response
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@enduml
|
|
||||||
|
|
||||||
</center>
|
|
||||||
```
|
|
||||||
|
|
||||||
яка буде відображена наступним чином
|
|
||||||
|
|
||||||
<center style="
|
|
||||||
border-radius:4px;
|
|
||||||
border: 1px solid #cfd7e6;
|
|
||||||
box-shadow: 0 1px 3px 0 rgba(89,105,129,.05), 0 1px 1px 0 rgba(0,0,0,.025);
|
|
||||||
padding: 1em;"
|
|
||||||
>
|
|
||||||
|
|
||||||
@startuml
|
|
||||||
|
|
||||||
@startuml
|
|
||||||
|
|
||||||
participant Client
|
|
||||||
|
|
||||||
participant SR as "Service Registry"
|
|
||||||
|
|
||||||
participant Service
|
|
||||||
|
|
||||||
Service -> SR : register
|
|
||||||
SR -> SR
|
|
||||||
SR --> Service
|
|
||||||
...
|
|
||||||
|
|
||||||
SR -> Service: heartbeat
|
|
||||||
SR <-- Service: health
|
|
||||||
...
|
|
||||||
|
|
||||||
Client -> SR: find
|
|
||||||
Client <-- SR: service endpoint
|
|
||||||
Client -> Service: request
|
|
||||||
Client <-- Service: response
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@enduml
|
|
||||||
|
|
||||||
</center>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# Вступ
|
|
||||||
|
|
||||||
У вступі описується мета роботи і розглядається поставлене завдання з позиції її
|
|
||||||
актуальності, значення її розв’язання для тієї предметної області, до якої відноситься
|
|
||||||
тема бакалаврського проєкту.
|
|
||||||
|
|
||||||
Коротко характеризується сучасний рівень розв’язання
|
|
||||||
даного завдання і взаємозв’язок з іншими проєктами по цій тематиці.
|
|
||||||
|
|
||||||
Наводяться
|
|
||||||
основні технічні характеристики розробки й очікуваний технічно-економічний ефект
|
|
||||||
від її реалізації.
|
|
||||||
@@ -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/)
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
# Запити зацікавлених осіб
|
|
||||||
|
|
||||||
## Вступ
|
|
||||||
|
|
||||||
*[Вступ повинен містити короткий огляд всього документу.]*
|
|
||||||
|
|
||||||
### Мета
|
|
||||||
|
|
||||||
*[Визначення мети цієї сукупності вимог. Зазвичай такою метою є створення та впровадження
|
|
||||||
інформаційної системи відповідного призначення.]*
|
|
||||||
|
|
||||||
### Контекст
|
|
||||||
|
|
||||||
*[Короткий опис того, з якими проектами пов'язаний цей документ, на що він впливає.]*
|
|
||||||
|
|
||||||
|
|
||||||
### Основні визначення та скорочення
|
|
||||||
|
|
||||||
*[Розділ містить визначення всіх термінів та скорочень, необхідних для правильного
|
|
||||||
тлумачення вимог. Можна зробити посилання на документ, в якому поданий аналіз предметної області.]*
|
|
||||||
|
|
||||||
|
|
||||||
### Посилання
|
|
||||||
|
|
||||||
*[Розділ містить повний список всіх документів, про які згадується.]*
|
|
||||||
|
|
||||||
|
|
||||||
## Короткий зміст
|
|
||||||
|
|
||||||
*[Розділ містить опис того, про що йдеться в еій частині цього документу, що залишилася.
|
|
||||||
Також тут описана структура документу.]*
|
|
||||||
|
|
||||||
## Характеристика ділових процесів
|
|
||||||
|
|
||||||
*[В цьому розділі визначаються зовнішні фактори, що впливають на бізнес (бізнес-актори),
|
|
||||||
та внутрішні фактори (робітники), дається загальна характеристика діяльності бізнес-акторів
|
|
||||||
та робітників, яка здійснюється за допомогою бізнесу.*
|
|
||||||
|
|
||||||
*Дається опис бізнес-сценаріїв взаємодії бізнес-акторів, робітників і, можливо, інформаційної системи за допомогою наступної
|
|
||||||
специфікації:*
|
|
||||||
|
|
||||||
|
|
||||||
***ID:***
|
|
||||||
|
|
||||||
***НАЗВА:***
|
|
||||||
|
|
||||||
***УЧАСНИКИ:***
|
|
||||||
|
|
||||||
***ПЕРЕДУМОВИ:***
|
|
||||||
|
|
||||||
***РЕЗУЛЬТАТ:***
|
|
||||||
|
|
||||||
***ВИКЛЮЧНІ СИТУАЦІЇ:***
|
|
||||||
|
|
||||||
***ОСНОВНИЙ СЦЕНАРІЙ:***
|
|
||||||
|
|
||||||
*Кількість сценаріїв визначається у відповідності до специфіки завдання та необхідного
|
|
||||||
рівня деталізації (зазвичай, 5-6 сценаріїв).*
|
|
||||||
|
|
||||||
## Короткий огляд продукту
|
|
||||||
|
|
||||||
*[Визначається границя системи та категорії її користувачів. Дається загальна характеристика категорій користувачів
|
|
||||||
системи]*
|
|
||||||
|
|
||||||
*[Нижче йде опис FURPS:]*
|
|
||||||
|
|
||||||
|
|
||||||
## Функціональність
|
|
||||||
|
|
||||||
*[Functionality (функциональні вимоги)]*
|
|
||||||
|
|
||||||
## Практичність
|
|
||||||
|
|
||||||
*[Usability (вимоги до зручності роботи)]*
|
|
||||||
|
|
||||||
## Надійність
|
|
||||||
|
|
||||||
*[Reliability (вимоги до надійності)]*
|
|
||||||
|
|
||||||
## Продуктивність
|
|
||||||
|
|
||||||
*[Performance (вимоги до продуктивності)]*
|
|
||||||
|
|
||||||
## Експлуатаційна придатність
|
|
||||||
|
|
||||||
*[Supportability (вимоги до підтримки)]*
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Реалізація інформаційного та програмного забезпечення
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
# Тестування працездатності системи
|
|
||||||
|
|
||||||
*В цьому розділі необхідно вказати засоби тестування, навести вихідні коди тестів та результати тестування.*
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |