numde / compass-numapp-backend Goto Github PK
View Code? Open in Web Editor NEWThe repository for the back end component of the NUM-App
License: Apache License 2.0
The repository for the back end component of the NUM-App
License: Apache License 2.0
Describe the problem with the Documentation
In https://github.com/NUMde/compass-numapp-backend/tree/main/db
the prerequisites say: DB runs on default port (5432)
However, output (and default value in flyway.js) is documented as:
Database: jdbc:database://localhost:15432/compass (PostgreSQL 12.1)
[Optional] Suggest information, that might be helpful
change 15432 to 5432
It must be possible to end a study. This should be achievable by the following options:
Since #21 the firebase cloud messaging service is used for push notification, therefore the setup/deployment process for openshift has slightly changed. Hence, the parameters
are not relevant anymore; all the information needed for the setup of push notifications now comes from google-services.
These parameters can be removed from the template.
Implement changes necessary for this issue.
Describe the problem with the Documentation
you need to add the keys in the .env file, so these must be generated first
[Optional] Suggest information, that might be helpful
Swap the two paragraphs: "Generating RSA key pair" and "Create .env file"
Currently, the ClassErrorMiddle for the ApiController is never invoked because even when an error or an exception occurs, it is not passed to the errorMiddleware via a call of 'next()' but directly handled and a response with the respective code is sent back.
So i suggest we either remove the ClassErrorMiddleWare or don't directly return an error message in the controllers.
I this process we might as well add some more details (without disclosing sensitive data), explaining why the request has failed (no credentials/invalid credentials/outdated credentials...).
Currently, when executing the downloader script, all available questionnaire responses that were successfully downloaded and decrypted are deleted from the queue. For several reasons this is or might be problematic - or at least unwanted.
Admittedly, the 'delete' step in the downloader script could easily removed but that just leads to the problem, but in that way consecutive executions of the script lead to redundant downloads/decryptions.
From my point of view the following things should be implemented:
Consequently, the downloader script would need to be updated so that the usage of the api can be configured (e.g. with environment variables)
The NUM-App mobile backend should offer multi-language support for questionnaires. This implies that questionnaires can be stored and delivered in n languages. A fallback language must be configurable in case not questionnaire exists in the requested language. Given this, an adaptation of the client application is not mandatory.
The preferred language of a user should be stored in the corresponding participant object in the database.
This issue is linked to the required change in the mobile app.
The implementation should follow the specification given in the following sequence diagram:
Is your feature request related to a problem? Please describe.
The push notifications are not localized, i.e. they are not translated.
Describe the solution you'd like
-/-
Describe alternatives you've considered
-/-
Additional context
-/-
Describe the bug
Currently, a user can theoretically submit the same instance twice when using the web app and the mobile app at the same time
To Reproduce
Expected behavior
The user should be notified, that he already answered this instance on another device/platform
The field name "study_id" which is used for identification of study participants is misleading and should be renamed. It sould indicate that this value represents a subject identifier.
Study systems usually reference the following terms:
The name of the field should be updated in the code and all relating documentation.
When a user tries to use both apps there will be an error "questionnaire_not_found"
Steps to reproduce the behavior:
Tracking issue for:
During the deployment in the cluster no secret for the environment variable COMPASS_RECIPIENT_CERTIFICATE is created and needs to be done manually. Please add it to the OpenShift template.
Describe the bug
Even comparably small (140 kb) encrypted cannot be submitted, transmission is capped after 1,72 kb and a 413 kb is returned
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The Questionnaire can be submitted
Smartphone (please complete the following information):
Solution
Adding lmiit to the bodyParsers in ExpressServer.ts seems to fix this issue, even though I'm not sure this is the optimal solution:
this.app.use(bodyParser.json({ limit: '50mb' }));
this.app.use(bodyParser.urlencoded({ extended: true, limit: '50mb' }));
Selected request was successfull after adding the limit parameter to bodyParser.
The way i see it, the file 'google-services-secret.yaml' should be added to gitignore so the base64-encoded secret does not get leaked.
Describe the problem with the Documentation
A clear and concise description of what the problem is.
When you follow the readme, npm install results in an error, as it is not mentioned that it needs to be executed within the repo directory
git ...
npm install
[Optional] Suggest information, that might be helpful
add cd compass-numapp-backend/
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
cron
, @types/cron
)@typescript-eslint/eslint-plugin
, @typescript-eslint/parser
)These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
pg
, @types/pg
)uuid
, @types/uuid
)@types/jest
, jest
)@typescript-eslint/eslint-plugin
, @typescript-eslint/parser
).github/workflows/codeql.yml
actions/checkout v4
github/codeql-action v2
github/codeql-action v2
github/codeql-action v2
.github/workflows/main_workflow.yaml
actions/checkout v4
actions/setup-node v3
actions/cache v3
actions/checkout v4
actions/setup-node v3
actions/cache v3
package.json
@cloudnative/health-connect 2.1.0
@overnightjs/core 1.7.6
cors 2.8.5
cron 2.4.3
dotenv 16.3.1
env-var 7.4.1
express 4.18.2
express-jwt 8.4.1
firebase-admin 11.11.1
jet-logger 1.3.1
js-yaml 4.1.0
jsonwebtoken 9.0.2
jws 4.0.0
pg 8.11.3
swagger-ui-express 5.0.0
uuid 9.0.0
@types/cron 2.0.1
@types/express 4.17.17
@types/express-jwt 6.0.4
@types/jest 29.5.4
@types/jsonwebtoken 9.0.2
@types/jws 3.2.5
@types/node 18.17.14
@types/pg 8.10.2
@types/request 2.48.8
@types/swagger-ui-express 4.1.3
@types/uuid 9.0.3
@typescript-eslint/eslint-plugin 6.6.0
@typescript-eslint/parser 6.6.0
cpx2 5.0.0
eslint 8.48.0
eslint-config-prettier 9.0.0
eslint-formatter-github-annotations 0.1.0
eslint-plugin-jest 27.2.3
eslint-plugin-prettier 5.0.0
husky 8.0.3
jest 29.6.4
node-flywaydb 3.0.7
nodemon 3.0.1
npm-run-all 4.1.5
prettier 3.0.3
rimraf 5.0.1
run-script-os 1.1.6
ts-jest 29.1.1
ts-node 10.9.1
typescript 5.2.2
node >=18.0.0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.