QMethod

by CITS3200GroupD

GitHub Readme.md

QMethod v2

CodeFactor Docs Status Build Status GitHub forks

QMethod Survey - MEAN Stack Powered Q-Sort Methodology Survey Application Version 0.0.9a

What is QMethod?

QMethod is a user friendly MEAN stack powered web data collection application originally developed by a team at the University of Western Australia (UWA) to aid in Q-Sorts to aid in Q-methodology research in the field of social sciences and psychology.

QMethod offers a range of features, tailored to suit the needs of the UWA social sciences department, that existing solutions currently do not provide:

  • Dynamic adjustment of the display grid (both in terms of Horizontal-X axis scaling as well as adjustment of kurtosis) as well as statements.Drag and drop functionality for sorting statement cards into the Q-sort grid.
  • Handling of multiple Q-sort surveys running simultaneously, with separate personal links (routing) for different surveys.Encrypted cloud-based storage of all data with:Support for Mongo DBaaS (Database as as cloud) cloud database storage providers (Mongo Atlas, mLab, etc.)
  • The ability to view, edit and delete survey data through the application
  • The ability to view, export (screenshot) and delete user data through the application
  • A follow-up questionnaire for participants

For a more detailed explanation of the full feature set of QMethod please read our breakdown here.

Deployment

Please read the following for either a basic or advanced guide to deploying this MEAN stack powered application to the Heroku Cloud.

Video Guide

Deploy

Supported Browsers

  • Chrome 36+
  • Firefox 51+
  • Edge 12+
  • Internet Explorer 10+
  • Safari 9+
  • Opera 30+
  • iOS 9+
  • Android 4.4+

This project was generated with Angular CLI version 6.1.3.

For Developers

Development server

If you have not installed nodemon as a global npm dependecy, do so by running npm i -g nodemon.

Run npm install to update your dependencies.

Run nodemon server and ng serve for a dev server. Shell scripts are provided for this in test.bat and test.sh.

Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

i.e. ng g c components/<page name> --spec=false

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.

Credit/Dependencies

This application uses Open Source components. You can find the source code of these open source projects along with their respective license information below.