Cette application sert de serveur et d'espace d'administration pour eva
Pour voir les autres projets de eva :
Anciens dépôts que nous n'utilisons plus aujourd'hui :
-
Ruby version
2.6 -
Base de données et assimilé
PostgreSql Redis -
Création de la base
rake db:create
-
Initialisation de la base
rake db:migrate
&&rake db:seed
Avant de pouvoir commencer des tests utilisateurs, il vous faut créer une campagne avec l'interface d'administration décrite ci-dessous.
-
Lancer les tests
bundle exec rake spec
ouguard
-
Espace d'administration accessible à l'url
/admin
, un compte admin est créé avec l'execution du seed. À ce jour le compte créé estadministrateur@exemple.com
avec le mot de passepassword
(pour le développement seulement bien sûr ;-)) -
Variables d'environnement
PROTOCOLE_SERVEUR=http
HOTE_SERVEUR=localhost:3000
URL_CLIENT=http://localhost:7700/jeu
EMAIL_DEFAULT_FROM=eva@beta.gouv.fr
Sans ces variables, le projet ne se lancera pas correctement en local.
L'api est accessible au point /api
Requête
POST /api/evaluations
{
"nom": "Roger",
"code_campagne": "Mon code de campagne",
"terminee_le": "2021-10-06T16:13:24+0000"
}
Réponse
{
"anonymise_le": null,
"campagne_id": "09209dea-0fa7-40ea-aba8-cbadc1957f4d",
"created_at": "2021-10-08T09:27:09.754+02:00",
"email": null,
"id": "51b4b749-7ac2-40b4-b8f8-b8c9e5663c69",
"nom": "Roger",
"telephone": null,
"terminee_le": "2021-10-03T22:15:24.000+02:00",
"updated_at": "2021-10-08T09:27:09.754+02:00"
}
Requête
PATCH /api/evaluations/:id
{
"email":"Roger@structure.fr",
"telephone":"06",
"terminee_le":"2021-10-03T22:15:24+02:00"
}
Réponse
{
"anonymise_le": "2021-10-06T17:04:49.780+02:00",
"campagne_id": "09209dea-0fa7-40ea-aba8-cbadc1957f4d",
"created_at": "2021-10-03T20:51:18.490+02:00",
"email": "Roger@structure.fr",
"id": "569cdc17-554d-4227-acfe-1d5d3a4afdbc",
"nom": "Roger",
"telephone": "06",
"terminee_le": "2021-10-06T16:13:24.000+02:00",
"updated_at": "2021-10-08T09:16:38.943+02:00"
}
POST /api/evaluations/:id/fin
Réponse
{
"competences_fortes": [
{
"nom_technique": "id_competence",
"nom": "nom_competence",
"description": "Description de la compétence.",
"picto": "http://host/assets/competence.svg"
}
]
}
Requête
GET /api/questionnaires/:id
Réponse
[
{
"id": "d5e892ff-6747-4e21-ad60-2f3255ffb314",
"type": "qcm",
"intitule": "Ma question",
"description": "Ma description",
"choix": []
}
]
POST /api/evenements
Contenu:
{
"date": 1551111089238,
"nom": "ouvertureContenant",
"session_id": "baf2c86c-6c34-11e9-901c-c34362f7423a",
"situation": "inventaire",
"donnees": {"idContenu": "6"},
"evaluation_id": "1",
}
POST /api/evaluations/:evaluation_id/collections_evenements
Contenu:
{
"evenements": [
{
"date":1632317532817,
"session_id":"54af3010-315c-4755-b268-08c4bf520f64",
"situation":"bienvenue",
"nom":"reponse",
"donnees": {
"question":"f728be21-6f19-4901-ba07-0ac26ad702d7",
"reponse":"5f5ce41c-a2f0-4512-b266-39a4945dbeba"
},
"evaluation_id":"b80e3b14-737e-4712-a2ff-3f22f5bdcd4d",
"position": 2
},
// ...
]
}
Requête
GET /api/campagnes/:code_campagne
Réponse
{
"libelle": "Ma campagne",
"code": "FRT61000",
"questions:": [],
"situations": [
{
"id": "569cdc17-554d-4227-acfe-1d5d3a4afdbc",
"libelle": "Tri",
"nom_technique": "tri",
"questionnaire_id": "f958d99d-4adb-455b-8d85-c7e89ab7025c",
"questions:": [
{
"id": "d5e892ff-6747-4e21-ad60-2f3255ffb314",
"type": "qcm",
"intitule": "Ma question",
"nom_technique": "ma-question",
"illustration": "https://stockagepreprod.eva.beta.gouv.fr/7yii4m9m7t7bjvl42z7qmofuie7w?filename=bienvenue_background.jpg",
"description": "Ma description",
"choix": []
}
],
"questionnaire_entrainement_id": "f958d99d-4adb-455b-8d85-c7e89ab7025c",
"questions_entrainement": [
{
"id": "d5e892ff-6747-4e21-ad60-2f3255ffb314",
"type": "qcm",
"intitule": "Ma question",
"nom_technique": "ma-question",
"illustration": "https://stockagepreprod.eva.beta.gouv.fr/7yii4m9m7t7bjvl42z7qmofuie7w?filename=bienvenue_background.jpg",
"description": "Ma description",
"choix": []
}
]
}
]
}
Pour générer ce graphique:
bundle exec rake erd filetype=dot orientation=vertical attributes=foreign_keys,content,timestamps
dot -Tpng erd.dot -o docs/erd.png
Ce logiciel et son code source sont distribués sous licence AGPL.