Browse Source

Merge branch 'f/formular-aufnahmeantrag' of gitlab.com:fia72-dev/eva_lernsituation into f/formular-aufnahmeantrag

f/formular-aufnahmeantrag
Kai Senkowski 7 years ago
parent
commit
b60f09b101
  1. 12
      .gitlab-ci.yml
  2. 13
      Docker/Dockerfile_FE_Host.dockerfile
  3. 2
      Docker/config/restart-host.sh
  4. 234
      Frontend/package-lock.json
  5. 148
      _Dokumente/Ausgearbeitete Dokumente/Endpoints.md
  6. 15
      _Dokumente/Protokolle/2019-06-12_Protokoll.md

12
.gitlab-ci.yml

@ -1,9 +1,10 @@
stages:
- build
- build_docker
- build_frontend
build_frontend:
stage: build
stage: build_frontend
tags:
- docker
image: registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-build
@ -24,12 +25,15 @@ build_frontend:
- ssh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET "rm -rf /home/$DEPLOY_ENV_USER/serve/*"
- ssh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET "mkdir -p /home/$DEPLOY_ENV_USER/serve/$CI_COMMIT_REF_NAME"
- rsync --progress -av -e ssh /workdir/build/* $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET:/home/$DEPLOY_ENV_USER/serve/
only:
changes:
- Frontend/*
environment:
name: deploy
url: https://$DEPLOY_ENV_TARGET
build_docker_host:
stage: build
stage: build_docker
tags:
- docker-builder
before_script:
@ -51,7 +55,7 @@ build_docker_host:
- Docker/config/*
build_docker_builder:
stage: build
stage: build_docker
tags:
- docker-builder
before_script:

13
Docker/Dockerfile_FE_Host.dockerfile

@ -1,5 +1,14 @@
# Tag: frontend-serve
FROM nginx
# FROM nginx
COPY Docker/config/nginx.conf /etc/nginx/nginx.conf
# COPY Docker/config/nginx.conf /etc/nginx/nginx.conf
FROM node:10.8-stretch
WORKDIR /opt/frontend
RUN pwd && ls -la
RUN npm install -g serve
CMD ["serve", "-s", "build"]

2
Docker/config/restart-host.sh

@ -3,5 +3,5 @@ docker login -u gitlab+deploy-token-66068 -p vD23SzzitUn8y8xGknKz registry.gitla
docker stop eva_frontend_serve
docker rm eva_frontend_serve
docker rmi registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-serve
docker run -d -p 8083:80 -v /home/gitlab/serve:/usr/share/nginx/html:ro --name "eva_frontend_serve" registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-serve
docker run -d -p 8083:5000 -v /home/gitlab/serve:/opt/frontend/build:ro --name "eva_frontend_serve" registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-serve

234
Frontend/package-lock.json generated

@ -1154,68 +1154,82 @@
}
},
"@material-ui/core": {
"version": "4.0.0-beta.2",
"resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.0.0-beta.2.tgz",
"integrity": "sha512-AcAmd55hRloY2YqDvcwmZK4OiLZ+98nKliRh/YKyQqISEV0Lt98qRxxepluAm4KKr509Bjgg+rEJ+K+FpDTGjw==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.1.0.tgz",
"integrity": "sha512-dpS7OvW4eBInskB3l72htaBY+3VFfgEs0UiNczyJyqb6SjymVx7ymi0BnwfUOWJYwPq0jfRqPddy0ThADBqvHQ==",
"requires": {
"@babel/runtime": "^7.2.0",
"@material-ui/styles": "^4.0.0-beta.2",
"@material-ui/system": "^4.0.0-beta.2",
"@material-ui/types": "^4.0.0-beta.2",
"@material-ui/utils": "^4.0.0-beta.1",
"@material-ui/styles": "^4.1.0",
"@material-ui/system": "^4.1.0",
"@material-ui/types": "^4.1.0",
"@material-ui/utils": "^4.1.0",
"@types/react-transition-group": "^2.0.16",
"clsx": "^1.0.2",
"convert-css-length": "^1.0.2",
"csstype": "^2.5.2",
"convert-css-length": "^2.0.0",
"debounce": "^1.1.0",
"deepmerge": "^3.0.0",
"hoist-non-react-statics": "^3.2.1",
"is-plain-object": "^2.0.4",
"normalize-scroll-left": "^0.1.2",
"is-plain-object": "^3.0.0",
"normalize-scroll-left": "^0.2.0",
"popper.js": "^1.14.1",
"prop-types": "^15.7.2",
"react-event-listener": "^0.6.6",
"react-transition-group": "^4.0.0",
"warning": "^4.0.1"
},
"dependencies": {
"is-plain-object": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz",
"integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==",
"requires": {
"isobject": "^4.0.0"
}
},
"isobject": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
"integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA=="
}
}
},
"@material-ui/icons": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-3.0.2.tgz",
"integrity": "sha512-QY/3gJnObZQ3O/e6WjH+0ah2M3MOgLOzCy8HTUoUx9B6dDrS18vP7Ycw3qrDEKlB6q1KNxy6CZHm5FCauWGy2g==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.1.0.tgz",
"integrity": "sha512-EwlS/D3O1lBEFBBOwBJgcV3c9zkLYy6GpJzBFL4i8rpkwfpWAE2dvz2TGsHfftfR60tiiLpZJhngBL7NJYnRng==",
"requires": {
"@babel/runtime": "^7.2.0",
"recompose": "0.28.0 - 0.30.0"
"@babel/runtime": "^7.2.0"
}
},
"@material-ui/styles": {
"version": "4.0.0-beta.2",
"resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.0.0-beta.2.tgz",
"integrity": "sha512-fX0pfTtw2f6+AlfzQlsue5AJ18mZbFbC9Og339tx9wwM8aPjk/9dNr9nPugAqFbdB41Lz3t4tn5sGx2Jm/grEg==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.1.0.tgz",
"integrity": "sha512-GMv/8UcfZv5P9Cl2eR+HbyJwCnrYOeDRW3BALCGZgQ7nBiQTQnrhXxA1MprBoRBPl5KiD2kQJdjbdkvT8OSfNg==",
"requires": {
"@babel/runtime": "^7.2.0",
"@emotion/hash": "^0.7.1",
"@material-ui/types": "^4.0.0-beta.2",
"@material-ui/utils": "^4.0.0-beta.1",
"@material-ui/types": "^4.1.0",
"@material-ui/utils": "^4.1.0",
"clsx": "^1.0.2",
"csstype": "^2.5.2",
"deepmerge": "^3.0.0",
"hoist-non-react-statics": "^3.2.1",
"jss": "^10.0.0-alpha.16",
"jss-plugin-camel-case": "^10.0.0-alpha.16",
"jss-plugin-default-unit": "^10.0.0-alpha.16",
"jss-plugin-global": "^10.0.0-alpha.16",
"jss-plugin-nested": "^10.0.0-alpha.16",
"jss-plugin-props-sort": "^10.0.0-alpha.16",
"jss-plugin-rule-value-function": "^10.0.0-alpha.16",
"jss-plugin-vendor-prefixer": "^10.0.0-alpha.16",
"jss": "10.0.0-alpha.17",
"jss-plugin-camel-case": "10.0.0-alpha.17",
"jss-plugin-default-unit": "10.0.0-alpha.17",
"jss-plugin-global": "10.0.0-alpha.17",
"jss-plugin-nested": "10.0.0-alpha.17",
"jss-plugin-props-sort": "10.0.0-alpha.17",
"jss-plugin-rule-value-function": "10.0.0-alpha.17",
"jss-plugin-vendor-prefixer": "10.0.0-alpha.17",
"prop-types": "^15.7.2",
"warning": "^4.0.1"
}
},
"@material-ui/system": {
"version": "4.0.0-beta.2",
"resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.0.0-beta.2.tgz",
"integrity": "sha512-0KkCMZuUDGtx4iKbWxw9G4ncn5ZNgG7aYnHLEebFEPyb9EX66XP2whIUHWhPSaPBXb4QarUWOSCGDFoCX6ecSw==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.1.0.tgz",
"integrity": "sha512-1v/J2X820CzYhiH46z9qcbd+AVcQ+578ycsHAo6MVpu5eI399S6t+OcO6vg0FPhCrLshWynNGNfeF0JcLlrYzA==",
"requires": {
"@babel/runtime": "^7.2.0",
"deepmerge": "^3.0.0",
@ -1224,14 +1238,14 @@
}
},
"@material-ui/types": {
"version": "4.0.0-beta.2",
"resolved": "https://registry.npmjs.org/@material-ui/types/-/types-4.0.0-beta.2.tgz",
"integrity": "sha512-Fct55vzMMUyiJqCBkBLERSrB2rdD7C4vbWtJcnhHaGSpAayG3jxhbxEoxm96UHsuI1DZAN7DdxwA4Y+w+pi78Q=="
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@material-ui/types/-/types-4.1.0.tgz",
"integrity": "sha512-F4z7GOAeEucPjrrhJ2PHBhMZjhggE6Jjnzmap5W2PdZ3TSWNlqucB+oOzT6EzWRkHDDhVmANMU8QMfT/kcZtOg=="
},
"@material-ui/utils": {
"version": "4.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.0.0-beta.1.tgz",
"integrity": "sha512-DXheNh0CQ5y9QBFmXom3+lwKjFMLS1aBog40870fH3i0P0isVweSqVGadVDoyX9ma6cV/DfcLFSsb1+CBgNA1g==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.1.0.tgz",
"integrity": "sha512-muwmVU799tzPjzb+Q5E/CTDle0rXwkCAdvMVyU0BfbJhenkUsFmuYiCmbvMVOU1m6F1S5HWfXz8EP4pXwwAvrw==",
"requires": {
"@babel/runtime": "^7.2.0",
"prop-types": "^15.7.2",
@ -1438,18 +1452,18 @@
"integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw=="
},
"@types/react": {
"version": "16.8.17",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.17.tgz",
"integrity": "sha512-pln3mgc6VfkNg92WXODul/ONo140huK9OMsx62GlBlZ2lvjNK86PQJhYMPLO1i66aF5O9OPyZefogvNltBIszA==",
"version": "16.8.19",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.19.tgz",
"integrity": "sha512-QzEzjrd1zFzY9cDlbIiFvdr+YUmefuuRYrPxmkwG0UQv5XF35gFIi7a95m1bNVcFU0VimxSZ5QVGSiBmlggQXQ==",
"requires": {
"@types/prop-types": "*",
"csstype": "^2.2.0"
}
},
"@types/react-transition-group": {
"version": "2.9.1",
"resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.9.1.tgz",
"integrity": "sha512-1usq4DRUVBFnxc9KGJAlJO9EpQrLZGDDEC8wDOn2+2ODSyudYo8FiIzPDRaX/hfQjHqGeeoNaNdA2bj0l35hZQ==",
"version": "2.9.2",
"resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.9.2.tgz",
"integrity": "sha512-5Fv2DQNO+GpdPZcxp2x/OQG/H19A01WlmpjVD9cKvVFmoVLOZ9LvBgSWG6pSXIU4og5fgbvGPaCV5+VGkWAEHA==",
"requires": {
"@types/react": "*"
}
@ -2810,11 +2824,6 @@
"supports-color": "^5.3.0"
}
},
"change-emitter": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz",
"integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU="
},
"chardet": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
@ -3620,9 +3629,9 @@
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
},
"convert-css-length": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/convert-css-length/-/convert-css-length-1.0.2.tgz",
"integrity": "sha512-ecV7j3hXyXN1X2XfJBzhMR0o1Obv0v3nHmn0UiS3ACENrzbxE/EknkiunS/fCwQva0U62X1GChi8GaPh4oTlLg==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-css-length/-/convert-css-length-2.0.0.tgz",
"integrity": "sha512-ygBgHNzImHJ/kjgqdzC0oaY2+EMID3s88/CZD2C9O1stM3PwsOwXzzlFTTkZy/bPZe0wjyt1UoYjilfunQGjlw==",
"requires": {
"console-polyfill": "^0.1.2",
"parse-unit": "^1.0.1"
@ -4025,9 +4034,9 @@
}
},
"csstype": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.4.tgz",
"integrity": "sha512-lAJUJP3M6HxFXbqtGRc0iZrdyeN+WzOWeY0q/VnFzI+kqVrYIzC7bWlKqCW7oCIdzoPkvfp82EVvrTlQ8zsWQg=="
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.5.tgz",
"integrity": "sha512-JsTaiksRsel5n7XwqPAfB0l3TFKdpjW/kgAELf9vrb5adGA7UCPLajKK5s3nFrcFm3Rkyp/Qkgl73ENc1UY3cA=="
},
"cyclist": {
"version": "0.2.2",
@ -7821,9 +7830,9 @@
}
},
"jss": {
"version": "10.0.0-alpha.16",
"resolved": "https://registry.npmjs.org/jss/-/jss-10.0.0-alpha.16.tgz",
"integrity": "sha512-HmKNNnr82TR5jkWjBcbrx/uim2ief588pWp7zsf4GQpL125zRkEaWYL1SXv5bR6bBvAoTtvJsTAOxDIlLxUNZg==",
"version": "10.0.0-alpha.17",
"resolved": "https://registry.npmjs.org/jss/-/jss-10.0.0-alpha.17.tgz",
"integrity": "sha512-egGIUg+YRu0+U+XXlD0gmVtU/gW5sn7+qmDv7opwK5s8emZBE/VoN55X6CaMrAa0kLeGMldnI43KOWea6M9/mA==",
"requires": {
"@babel/runtime": "^7.3.1",
"is-in-browser": "^1.1.3",
@ -7831,69 +7840,69 @@
}
},
"jss-plugin-camel-case": {
"version": "10.0.0-alpha.16",
"resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.0.0-alpha.16.tgz",
"integrity": "sha512-nki+smHEsFyoZ0OlOYtaxVqcQA0ZHVJCE1slRnk+1TklbmxbBiO4TwITMTEaNIDv0U0Uyb0Z8wVgFgRwCCIFog==",
"version": "10.0.0-alpha.17",
"resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.0.0-alpha.17.tgz",
"integrity": "sha512-aPY4kr6MwliH7KToLRzeSk1NxXUo9n7MQsAa0Hghwj01x9UnMkDkGAKENMKUtPjGkQZfiJpB9tTLFrSJ/6VrIQ==",
"requires": {
"@babel/runtime": "^7.3.1",
"hyphenate-style-name": "^1.0.3",
"jss": "10.0.0-alpha.16"
"jss": "10.0.0-alpha.17"
}
},
"jss-plugin-default-unit": {
"version": "10.0.0-alpha.16",
"resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.0.0-alpha.16.tgz",
"integrity": "sha512-jjGW4F/r9yKvoyUk22M8nWhdMfvoWzJw/oFO2cDRXCk2onnWFiRALfqeUsEDyocwdZbyVF9WhZbSHn4GL03kSw==",
"version": "10.0.0-alpha.17",
"resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.0.0-alpha.17.tgz",
"integrity": "sha512-KQgiXczvzJ9AlFdD8NS7FZLub0NSctSrCA9Yi/GqdsfJg4ZCriU4DzIybCZBHCi/INFGJmLIESYWSxnuhAzgSQ==",
"requires": {
"@babel/runtime": "^7.3.1",
"jss": "10.0.0-alpha.16"
"jss": "10.0.0-alpha.17"
}
},
"jss-plugin-global": {
"version": "10.0.0-alpha.16",
"resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.0.0-alpha.16.tgz",
"integrity": "sha512-B1mm2ZF9OEsWPmzkG5ZUXqV88smDqpc4unILLXhWVuj0U5JeT0DNitH+QbXFrSueDJzkWVfvqyckvWDR/0qeDg==",
"version": "10.0.0-alpha.17",
"resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.0.0-alpha.17.tgz",
"integrity": "sha512-WYxiwwI+CLk0ozW8loeceqXBAZXBMsLBEZeRwVf9WX+FljdJkGwVZpRCk6LBX4aXnqAGyKqCxIAIJ3KP2yBdEg==",
"requires": {
"@babel/runtime": "^7.3.1",
"jss": "10.0.0-alpha.16"
"jss": "10.0.0-alpha.17"
}
},
"jss-plugin-nested": {
"version": "10.0.0-alpha.16",
"resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.0.0-alpha.16.tgz",
"integrity": "sha512-3l/MB6COnIpq4GOXQFae6UydoaIPa81UxhuBTEQuiAojgTeUla9L7nB3h18Q4zAhQQpjxaEsyppAKuEzIP7kPQ==",
"version": "10.0.0-alpha.17",
"resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.0.0-alpha.17.tgz",
"integrity": "sha512-onpFqv904KCujryf2t6IIV1/QoB7cSF7ojrd4UujcN5TPvYOvXF5bchi7jnHG5U0SLlRSDGMLJ9fhtoCknhEbw==",
"requires": {
"@babel/runtime": "^7.3.1",
"jss": "10.0.0-alpha.16",
"jss": "10.0.0-alpha.17",
"tiny-warning": "^1.0.2"
}
},
"jss-plugin-props-sort": {
"version": "10.0.0-alpha.16",
"resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.0.0-alpha.16.tgz",
"integrity": "sha512-+Yn9nugHAH58nf/d43H2uxMvlCFPDgLKRSmKO4Q4m1IGYjMbHsWt1Rk2HfC9IiCanqcqpc8hstwtzf+HG7PWFQ==",
"version": "10.0.0-alpha.17",
"resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.0.0-alpha.17.tgz",
"integrity": "sha512-KnbyrxCbtQTqpDx2mSZU/r/E5QnDPIVfIxRi8K+W/q4gZpomBvqWC+xgvAk9hbpmA6QBoQaOilV8o12w2IZ6fg==",
"requires": {
"@babel/runtime": "^7.3.1",
"jss": "10.0.0-alpha.16"
"jss": "10.0.0-alpha.17"
}
},
"jss-plugin-rule-value-function": {
"version": "10.0.0-alpha.16",
"resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.0.0-alpha.16.tgz",
"integrity": "sha512-MQap9ne6ZGZH0NlpSQTMSm6QalBTF0hYpd2uaGQwam+GlT7IKeO+sTjd46I1WgO3kyOmwb0pIY6CnuLQGXKtSA==",
"version": "10.0.0-alpha.17",
"resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.0.0-alpha.17.tgz",
"integrity": "sha512-8AuJB44Q+ehfkWVRi2XlRbUf6SrLmrHTa5EXd6dgQRCCRuvGmqX8Dl4fZvNeKRFjTLPZgzg9+31rqeOMhKa2vA==",
"requires": {
"@babel/runtime": "^7.3.1",
"jss": "10.0.0-alpha.16"
"jss": "10.0.0-alpha.17"
}
},
"jss-plugin-vendor-prefixer": {
"version": "10.0.0-alpha.16",
"resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.0.0-alpha.16.tgz",
"integrity": "sha512-70yJ6QE5dN8VlPUGKld5jK2SKyrteheEL/ismexpybIufunMs6iJgkhDndbOfv8ia13yZgUVqeakMdhRKYwK1A==",
"version": "10.0.0-alpha.17",
"resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.0.0-alpha.17.tgz",
"integrity": "sha512-wDq9EL0QaoMGSGifPEBb+/SA9LBcqPEW0jpL9ht+Z2t+lV7NNz0j7uCEOuE6FvNWqHzUKTsiATs1rTHPkzNBEQ==",
"requires": {
"@babel/runtime": "^7.3.1",
"css-vendor": "^2.0.1",
"jss": "10.0.0-alpha.16"
"jss": "10.0.0-alpha.17"
}
},
"jsx-ast-utils": {
@ -8655,9 +8664,9 @@
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
},
"normalize-scroll-left": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.1.2.tgz",
"integrity": "sha512-F9YMRls0zCF6BFIE2YnXDRpHPpfd91nOIaNdDgrx5YMoPLo8Wqj+6jNXHQsYBavJeXP4ww8HCt0xQAKc5qk2Fg=="
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.2.0.tgz",
"integrity": "sha512-t5oCENZJl8TGusJKoCJm7+asaSsPuNmK6+iEjrZ5TyBj2f02brCRsd4c83hwtu+e5d4LCSBZ0uoDlMjBo+A8yA=="
},
"normalize-url": {
"version": "3.3.0",
@ -10442,11 +10451,6 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
"integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA=="
},
"react-lifecycles-compat": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
},
"react-router": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-5.0.0.tgz",
@ -10552,13 +10556,24 @@
}
},
"react-transition-group": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.0.1.tgz",
"integrity": "sha512-SsLcBYhO4afXJC9esL8XMxi/y0ZvEc7To0TvtrBELqzpjXQHPZOTxvuPh2/4EhYc0uSMfp2SExIxsyJ0pBdNzg==",
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.1.1.tgz",
"integrity": "sha512-K/N1wqJ2GRP2yj3WBqEUYa0KV5fiaAWpUfU9SpHOHefeKvyrO+VrnMBML21M19QZoVbDZKmuQFHZYoMMi1xuJA==",
"requires": {
"@babel/runtime": "^7.4.5",
"dom-helpers": "^3.4.0",
"loose-envify": "^1.4.0",
"prop-types": "^15.6.2"
},
"dependencies": {
"@babel/runtime": {
"version": "7.4.5",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz",
"integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==",
"requires": {
"regenerator-runtime": "^0.13.2"
}
}
}
},
"read-pkg": {
@ -10612,26 +10627,6 @@
"util.promisify": "^1.0.0"
}
},
"recompose": {
"version": "0.30.0",
"resolved": "https://registry.npmjs.org/recompose/-/recompose-0.30.0.tgz",
"integrity": "sha512-ZTrzzUDa9AqUIhRk4KmVFihH0rapdCSMFXjhHbNrjAWxBuUD/guYlyysMnuHjlZC/KRiOKRtB4jf96yYSkKE8w==",
"requires": {
"@babel/runtime": "^7.0.0",
"change-emitter": "^0.1.2",
"fbjs": "^0.8.1",
"hoist-non-react-statics": "^2.3.1",
"react-lifecycles-compat": "^3.0.2",
"symbol-observable": "^1.0.4"
},
"dependencies": {
"hoist-non-react-statics": {
"version": "2.5.5",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
"integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
}
}
},
"recursive-readdir": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
@ -11861,11 +11856,6 @@
"util.promisify": "~1.0.0"
}
},
"symbol-observable": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
"integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
},
"symbol-tree": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",

148
_Dokumente/Ausgearbeitete Dokumente/Endpoints.md

@ -1,34 +1,57 @@
# Endpoints
## Screens
Im folgenden werden diverse Http-Schnittstellen zur Kommunikation zwischen Frontend und Backend beschrieben.
Zusäzlich ist angegeben, für welche Benutzerrollen die jeweiligen Funktionen zu Verfügung steht.
---
### Login
- POST Login
- Parameter
- POST login
- Parameter
- Username string
- Password string
- POST logout
### Übersichtsseite (Dozent und Verwaltung)
- GET screens
- Liefert alle erlaubten Ansichten für einen User zurück
- Liefert alle erlaubten Ansichten für einen User zurück
- Liefert Array
- Screen string
### Wochenübersicht (Dozent)
- GET weekly_overview
- Liefert alle Unterrichtseinheiten für die nächsten 7 Tage
- Liefert alle Unterrichtseinheiten für die nächsten 7 Tage
- Liefert Array
### Kursübericht [besser Kursdetails] (Dozent und Verwaltung)
- GET course_detail
- Liefert alle Informationen zu einem Kurs
- Paramter
- KursID string
- Liefert object
- KursID string
- DozentID string
- DozentName string
- Unterrichtseinheiten Array
- StartZeit DateTime
- Students Array
- StudentID string
- StudentName string
- GET course_contents
- Liefert alle eingetragenen Inhalten zum Kurs
- Parameter
- KursID string
- PUT new_course_content
- Inhalt der Letzten UE wird gesetzt
- Inhalt der letzten UE wird gesetzt
- Parameter
- KursID string
- content string
- Content string
### Welcher Lehrer Welcher Kurs (Verwaltung)
- GET course_teacher_match
- Liefert Array
- Liefert Array
- KursID string
- KursName string
- DozentID string
@ -36,7 +59,7 @@
### Welche Schüler Welcher Kurs (Verwaltung)
- GET course_student_match
- Liefert Array
- Liefert Array
- KursID string
- KursName string
- DozentID string
@ -44,75 +67,82 @@
### Lehrerübersicht (Verwaltung)
- GET all_teachers
- Liefert Array
- Liefert alle Dozenten
- Liefert Array
- DozentID string
- DozentName string
### Schüler von Lehrer (Dozent und Verwaltung)
- GET students_of_teacher
- Parameter DozentID
- Liefert Array
- Parameter DozentID
- Liefert Array
- StundentID string
- StudentName string
### Raumübersicht (Verwaltung)
- GET rooms
- Liefert Array
- Liefert alle verfügbaren Räume, inkl. der vorhandenen Instrumente
- Liefert Array
- RaumID string
- RaumName string
- Instrumente Array
- InstrumentName string
- GET instruments
- Liefert Array
- InstrumentName string
- InstrumentID string
- InstrumentName string
- PUT create_rooms
- Parameter
- RaumName string
- Instrumente Array
- InstrumentID string
### Raumdetails (Verwaltung)
- GET room_free
- Parameter RaumID
- Liefert Frei bool
- Liefert alle aktuell freien Räumen
- Parameter
- RaumID string
- Liefert object
- Belegt bool
- GET room_instruments
- Parameter RaumID
- Liefert Array
- Liefert alle Instrumente zu einem Raum
- Parameter
- RaumID string
- Liefert Array
- InstrumentID string
- InstrumentName string
- Vorhanden bool
- GET lessons
- Parameter
- Liefert alle Unterrichtszeiten in einem Raum
- Parameter
- RaumID string
- Sort // Maybe wenn benötigt
- Liefert Array
- StartZeit DT
- Liefert Array
- StartZeit DateTime
### Kurs Erstellen [Person + Kurs]
- nutzt GET instruments
- GET create_
### Kurs Erstellen [Person + Kurs] (Verwaltung)
- POST get_capable_teachers
- Parameter
- Liefert alle Dozenten, die einen bestimmten Kurs leiten können
- Parameter
- Typ string
- Instrumente Array
- Liefert Array
- InstrumentID string
- Liefert Array
- DozentID string
- DozentName string
- POST get_cross_referenced_rooms
- Parameter
- Parameter
- Typ string
- Instrumente Array
- InstrumentName string
- InstrumentID string
- DozentID string
- Liefert Array
- Liefert Array
- RaumID string
- Zeiten Array
- Zeitfenster number
- Zeit DateTime
- POST create_person
- Parameter
- Erstellt eine Person
- Parameter
- Name string
- Vorname string
- istErmaesigt bool
- Geburtsdatum DT
- IstErmaessigt bool
- Geburtsdatum DateTime
- Geburtsort string
- PLZ string
- Ort string
@ -120,16 +150,44 @@
- Bankname string
- BLZ string
- KontoNr string
- Liefert object
- StudentID string
- POST create_course
- Parameter
// Kursdaten
- Erstellt einen Kurs
- Parameter
- Typ string
- Instrumente Array
- Instrument string
- InstrumentID string
- DonzentID string
- Unterrichtseinheiten Array
- Zeit int
- Zeit int
- POST enroll_student
- Parameter
- Ordnet einen Schueler einem Kurs zu
- Parameter
- KursID string
- PersonID string
- StudentID string
### Aufnahmeantrag (Anonymous)
- POST aufnahmeantrag
- Parameter
- Name string
- Vorname string
- IstErmaessigt bool
- Geburtsdatum DateTime
- Geburtsort string
- PLZ string
- Ort string
- StrasseHNR string
- Bankname string
- BLZ string
- KontoNr string
- Typ string
- Instrumente Array
- InstrumentID string
- Laufzeit
- KursID string
### Instrumente (Anonymous)
- GET instruments
- Liefert Instrumente Array
- InstrumentID string
- InstrumentName string

15
_Dokumente/Protokolle/2019-06-12_Protokoll.md

@ -5,15 +5,22 @@ _Teilnehmer: Levin Faber, Alexej Komnik, Tobias Schiffarth, Kai Senkowski_
_Ort: Schule_
## Agenda
* Projetkstrukturplan und Zeitplan
* Projektstrukturplan und Zeitplan
* Pflichtenheft
* Abgabe Use-Case-Diagramm
* Endpoints
* Was soll alles im Prototyp enthalten sein?
* Enthaltene Funktionen im Prototyp?
## Ergebnisse
* Punkt 1
* Pflichtenheft ist abgegeben
* Pflichenheft initial vollständig
* PSP vervollständigt
* Prototyp (enthaltene Funktionen)
* Login
* Antragsgformular
* Wochenübersicht für Dozenten (Dozenten)
* Kurse erstellen/bestätigen (Verwaltung)
## Resultierende Aufgaben
|Aufgabe|Verantwortlicher|Erledigt|
|-|-|-|
|Pflichtenheft|Levin|Ja|
Loading…
Cancel
Save