epiph is a webapp to facilitate psychological trials based on questionnaires. You can enter your own questionnaires with multiple question/answer types (multiple-choice (single/multi selection), text, date, etc.). Design your study and schedule visits by defining which questionnaires have to be filled out in which visit. After creating patients, you are ready to fill out questionnaires. Epiph supports exporting the gathered answers as a csv or save it to a (MongoDB) collection for direct access from multiple statistic tools (ex. R).
Recent Commits
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
6b6f32966295 | patte | feat: HTTPS setup using traefik | Jan 4 2021 | ||||
c7ea6eb8f133 | patte | fix: add docker volume to gitignore | Jan 4 2021 | ||||
6de28b0d86ae | patte | fix: dependeny of app on mongo in docker-compose | Jan 4 2021 | ||||
68e22d404ba6 | patte | fix: volume for mongo container in docker-compose | Jan 4 2021 | ||||
2452951f75f8 | patte | fix: building in Dockerfile | Jan 4 2021 | ||||
e9f283decc03 | surkont | Fix missing answer behavior | Dec 11 2018 | ||||
43c060156e36 | surkont | Fix remove admin role | Dec 7 2018 | ||||
20a5f10be7d3 | surkont | Fix boolean question | Dec 7 2018 | ||||
b2863604a784 | surkont | Update questionnaire header info | Nov 21 2018 | ||||
24c7038a70df | surkont | Fix date picker | Nov 20 2018 | ||||
6b07e029d64a | surkont | Remove add/edit patient from Patients panel | Oct 23 2018 | ||||
8db7aabfb516 | surkont | Fix delete user action | Sep 18 2018 | ||||
138ce287cc45 | surkont | Update docker-compose | Sep 18 2018 | ||||
5c5b44ea22ae | surkont | Update meteor to v1.7.0.5 | Aug 30 2018 | ||||
1ecb1b13348a | surkont | Update Dockerfile | Aug 21 2018 |
README.md
epiph
epiph is a webapp to facilitate psychological trials based on questionnaires. You can enter your own questionnaires with multiple question/answer types (multiple-choice (single/multi selection), text, date, etc.). Design your study and schedule visits by defining which questionnaires have to be filled out in which visit. After creating patients, you are ready to fill out questionnaires. Epiph supports exporting the gathered answers as a csv or save it to a (MongoDB) collection for direct access from multiple statistic tools (ex. R).
Usage
Development / run locally
This webapp is based on Meteor. If you haven't installed it already, this is how you get it.
curl https://install.meteor.com/ | sh
Once meteor is installed, this command checks out the repo and starts the app.
git clone https://github.com/TeamEpiph/epiph.git cd epiph/app meteor
The app now runs with an empty database on http://localhost:3000
Deployment
This app can be easily hosted using docker-compose.
Preparation: install docker-compose
If you haven't installed Docker and Docker Compose already, check the official documentation for the installation details: Docker and Docker Compose.
Preparation: docker network
Create the web network with the following command:
docker network create web
Run epiph
git clone https://github.com/TeamEpiph/epiph.git cd epiph/app vi docker-compose.yml # adapt traefik.basic.frontend.rule to your domain docker-compose up -d
Now epiph is running on http://localhost:3000 If you want to expose the service to the public via a domain, follow the next steps.
External Access and HTTPS
Make sure port 80 and 443 are accessible from external and that you set up DNS correctly. The domain name you are going to specify needs to resolve to your IP. Traefik is going to request an TLS certificate from Let's Encrypt and needs these ports to be available in order to verify the request.
cd epiph/traefik touch acme.json && chmod 600 acme.json cp traefik.toml.example traefik.toml vi traefik.toml # set domain and email docker-compose up -d
The app should be up on the domain you specified eg. https://epiph.ch
Default User for login to epiph
- email: admin@admin.com
- username: admin
- password: password
Copyright and license
Code and documentation copyright 2016 Patrick Recher, Ronan Zimmermann and University of Basel. Code is licensed under GPLv3.