Yleistä
Yleistason kuvassa on kyselypelitehdas on esitetty käyttäjien ja organisaatioiden näkökulmasta sekä toimijoiden vuorovaikutusta pelin eri osiin.
- Organisaation pääkäyttäjä hallitsee peliin liittyviä ammattilaiskäyttäjiä ja kyselypelin sisältöä.
- Ammattilaiskäyttäjät näkevät kyselypeliin littyviä tietoja kuten käyttäjämääriä ja mahdollisesti vastausten perusteella tehtyjä tilastoja.
- Pelaajat vastaavat kyselyyn.
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlVua25vd24gVXNlciAoanVra2EudGltb25lbkBzaWlsaS5jb20pIiwib3V0cHV0VHlwZSI6ImJsb2NrIiwibGFzdE1vZGlmaWVyTmFtZSI6IlVua25vd24gVXNlciAoanVra2EudGltb25lbkBzaWlsaS5jb20pIiwibGFuZ3VhZ2UiOiJlbiIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjE5NjM4ODA1OCIsImRpYWdyYW1OYW1lIjoia3lzZWx5cGVsaW4gYXJra2l0ZWh0dXVyaSIsImFzcGVjdCI6IiIsImxpbmtzIjoiYXV0byIsImNlb05hbWUiOiJBcmtraXRlaHR1dXJpIGphIGzDpGhkZWtvb2RpIiwidGJzdHlsZSI6InRvcCIsImNhbkNvbW1lbnQiOmZhbHNlLCJkaWFncmFtVXJsIjoiIiwiY3N2RmlsZVVybCI6IiIsImJvcmRlciI6dHJ1ZSwibWF4U2NhbGUiOiIxIiwib3duaW5nUGFnZUlkIjoxOTIzODY1NTYsImVkaXRhYmxlIjpmYWxzZSwiY2VvSWQiOjE5MjM4NjU1NiwicGFnZUlkIjoiIiwibGJveCI6dHJ1ZSwic2VydmVyQ29uZmlnIjp7ImVtYWlscHJldmlldyI6IjEifSwib2RyaXZlSWQiOiIiLCJyZXZpc2lvbiI6OCwibWFjcm9JZCI6Ijg5NjVhNDk5LTAxNmMtNDU1Ni04NDM5LWU5NzdhZWUyZjM2YiIsInByZXZpZXdOYW1lIjoia3lzZWx5cGVsaW4gYXJra2l0ZWh0dXVyaS5wbmciLCJsaWNlbnNlU3RhdHVzIjoiT0siLCJzZXJ2aWNlIjoiIiwiaXNUZW1wbGF0ZSI6IiIsIndpZHRoIjoiMTAzOSIsInNpbXBsZVZpZXdlciI6ZmFsc2UsImxhc3RNb2RpZmllZCI6MTY2Njk2NDIyODExMCwiZXhjZWVkUGFnZVdpZHRoIjpmYWxzZSwib0NsaWVudElkIjoiIn0=
Arkkitehtuuri
Arkkitehtuurikuva tarkentaa sovelluksen rakennetta komponenteittain. Kyselypeli koostuu kahdesta eri sovelluksesta:
- Hallintatyökalu, jolla voidaan hallita useita kyselypelejä.
- Kyselypeli, jossa pelaajat vastaavat kyselyyn ja vastausten perusteella jaetaan mahdollisesti attribuutteja AuroraAI verkoston sovelluksille.
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlVua25vd24gVXNlciAoanVra2EudGltb25lbkBzaWlsaS5jb20pIiwib3V0cHV0VHlwZSI6ImJsb2NrIiwibGFzdE1vZGlmaWVyTmFtZSI6IlVua25vd24gVXNlciAoanVra2EudGltb25lbkBzaWlsaS5jb20pIiwibGFuZ3VhZ2UiOiJlbiIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjE5NjM4ODA5OSIsImRpYWdyYW1OYW1lIjoiS3lzZWx5cGVsaW4gYXJra2l0ZWh0dXVyaSAyIiwiYXNwZWN0IjoiIiwibGlua3MiOiJhdXRvIiwiY2VvTmFtZSI6IkFya2tpdGVodHV1cmkgamEgbMOkaGRla29vZGkiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjp0cnVlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjE5MjM4NjU1NiwiZWRpdGFibGUiOmZhbHNlLCJjZW9JZCI6MTkyMzg2NTU2LCJwYWdlSWQiOiIiLCJsYm94Ijp0cnVlLCJzZXJ2ZXJDb25maWciOnsiZW1haWxwcmV2aWV3IjoiMSJ9LCJvZHJpdmVJZCI6IiIsInJldmlzaW9uIjo1LCJtYWNyb0lkIjoiMTM5ZTllMzMtMmEyMS00ZTczLWJhYWMtNWExMDIwN2UzYzdkIiwicHJldmlld05hbWUiOiJLeXNlbHlwZWxpbiBhcmtraXRlaHR1dXJpIDIucG5nIiwibGljZW5zZVN0YXR1cyI6Ik9LIiwic2VydmljZSI6IiIsImlzVGVtcGxhdGUiOiIiLCJ3aWR0aCI6IjIyNzEiLCJzaW1wbGVWaWV3ZXIiOmZhbHNlLCJsYXN0TW9kaWZpZWQiOjE2NjY5Njc5MTIwNTgsImV4Y2VlZFBhZ2VXaWR0aCI6ZmFsc2UsIm9DbGllbnRJZCI6IiJ9
Pilviarkkitehtuuri
- Pilviresurssit on jaettu pääosin infra- ja backend pinoihin, joissa edellisissä luodaan pysyvät resurssit kuten tietovarastot, verkko-osoitteet ja API-määritykset ja jälkimmäisissä toiminnaisuuden toteuttavat funktiot.
- Resurssit ja backend-toteutuksen lähdekoodi on toteutettu AWS CDK kehyksen avulla Typescript -ohjelmointikielellä. Pinojen luontiin ja konfigurointiin tarvittavia apuskriptejä on toteutettu Bash- ja Javascript -ohjelmointikielillä.
- Backend-pinot ovat aina riippuviaisia vastaavasta Infra-pinosta, ja resurssien elinkaari on sidottu pinon elinkaareen.
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlVua25vd24gVXNlciAoanVra2EudGltb25lbkBzaWlsaS5jb20pIiwib3V0cHV0VHlwZSI6ImJsb2NrIiwibGFzdE1vZGlmaWVyTmFtZSI6IlVua25vd24gVXNlciAoanVra2EudGltb25lbkBzaWlsaS5jb20pIiwibGFuZ3VhZ2UiOiJlbiIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjE5NjM4ODEyMCIsImRpYWdyYW1OYW1lIjoiUGlsdmlyZXN1cnNzaXQiLCJhc3BlY3QiOiIiLCJsaW5rcyI6ImF1dG8iLCJjZW9OYW1lIjoiQXJra2l0ZWh0dXVyaSBqYSBsw6RoZGVrb29kaSIsInRic3R5bGUiOiJ0b3AiLCJjYW5Db21tZW50IjpmYWxzZSwiZGlhZ3JhbVVybCI6IiIsImNzdkZpbGVVcmwiOiIiLCJib3JkZXIiOnRydWUsIm1heFNjYWxlIjoiMSIsIm93bmluZ1BhZ2VJZCI6MTkyMzg2NTU2LCJlZGl0YWJsZSI6ZmFsc2UsImNlb0lkIjoxOTIzODY1NTYsInBhZ2VJZCI6IiIsImxib3giOnRydWUsInNlcnZlckNvbmZpZyI6eyJlbWFpbHByZXZpZXciOiIxIn0sIm9kcml2ZUlkIjoiIiwicmV2aXNpb24iOjcsIm1hY3JvSWQiOiIxNTI4MzE1NS03ZmRmLTRmZjQtYjk4Yy04YTJmOWE0OGFiODAiLCJwcmV2aWV3TmFtZSI6IlBpbHZpcmVzdXJzc2l0LnBuZyIsImxpY2Vuc2VTdGF0dXMiOiJPSyIsInNlcnZpY2UiOiIiLCJpc1RlbXBsYXRlIjoiIiwid2lkdGgiOiI4MTkiLCJzaW1wbGVWaWV3ZXIiOmZhbHNlLCJsYXN0TW9kaWZpZWQiOjE2NjcxOTk0NTAzNjIsImV4Y2VlZFBhZ2VXaWR0aCI6ZmFsc2UsIm9DbGllbnRJZCI6IiJ9
Lähdekoodi
Lähdekoodi on tallennettu Github-versionhallintaan.
Julkinen GItHub linkki https://github.com/aai-questionnaire-platform (Julkaistaan 23.12.2022)
Julkaisussa eri ympäristöihin käytetään Github Actions -työkalua.
Versionhallinen projekti | Rooli | Ohjelmointikieli ja käytetty kehyskirjasto | Versionhallinnan URL |
---|
admin-frontend | Hallintatyökalun selainsovellus | Typescript, React.JS, Material-UI | - |
admin-infrastructure | Hallintatyökalun pilviresurssit | Typescript, AWS CDK | - |
admin-backend | Hallintatyökalun ohjelmakoodi | Typescript, AWS CDK | - |
admin-cms | Webiny-sisällönhallintajärjestelmä | Webiny | - |
questionnaire-factory | Kyselypelin selainsovellus | Typescript, Next.JS | - |
factory-infra | Kyselypelin pilviresurssit | Typescript, AWS CDK | - |
factory-backend | Kyselypelin ohjelmakoodi | Typescript, AWS CDK | - |
docs | Ohjeet sovelluksien hallintaan | - | - |