Skip to content
This repository was archived by the owner on Jan 14, 2020. It is now read-only.
/ dsw-server Public archive

Data Stewardship Wizard - Server Application

License

Notifications You must be signed in to change notification settings

ds-wizard/dsw-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

eb76a01 · Sep 30, 2019
Aug 23, 2019
Sep 2, 2019
Sep 18, 2019
Aug 23, 2019
Aug 26, 2019
Aug 26, 2019
Jan 5, 2018
Sep 10, 2019
Sep 30, 2019
Aug 26, 2019
Aug 26, 2019
Aug 23, 2019

Repository files navigation

Data Stewardship Wizard - Server Application

It's a server part of the wizard application.

Build Status License

Features

  • User Management
  • Organization Management
  • Knowledge Model Management
  • Knowledge Model Editor
  • Migration Tool for obsolete Knowledge Models
  • Questionnaire
  • Migration Tool for obsolete Questionnaires
  • Data Management Plan Generator
  • Feedback

Demo

The application is currently deployed on a server provided by FIT CTU. Here are the addresses of running applications:

Documentation

General Documentation:

https://dswserver.docs.apiary.io

  • includes project overview
  • includes configuration
  • includes contribution guide
  • includes architecture description

API Documentation:

https://docs.ds-wizard.org

Contribute

Requirements

  • Stack (recommended 1.9.3 or higher)
  • MongoDB (recommended 4.0.12 or higher)
  • RabbitMQ (recommended 3.7.8 or higher, optional)
  • wkhtmltopdf (recommended 0.12.5 or higher) - for exports in PDF format only
  • Pandoc (recommended 2.2.1 or higher) - for exports in non HTML/PDF formats only
  • Docker (recommended 17.09.0-ce or higher) - for build of production image

Build & Run

For running application it's need to run MongoDB database and set up connection in configuration file.

Run these comands from the root of the project

$ stack build
$ stack exec dsw-server

Run tests

Run these comands from the root of the project

$ stack build
$ stack test --jobs=1 --fast

Format code

Create a bash script which will do the work for you. Run the script from the root of the project

$ find dsw-server/lib -name '*.hs' | while read line ; do hindent $line ; done
$ find dsw-server/test -name '*.hs' | while read line ; do hindent $line ; done

Code coverage

Run these comands from the root of the project

$ stack build
$ stack test --jobs=1 --fast --coverage --ghc-options "-fforce-recomp"`

Build an app version and built date

Run these comands from the scripts folder

$ ./build-info.sh

Naming conventions

  • Handler - a module containing handler functions
  • DTO - a module containing structures which represents request/response in API
  • Middleware - a module containing middleware functions
  • Service - a module containing service functions
  • Mapper - a module containing mapper functions
  • DAO - a module containing functions for a manipulation with data in database
  • Migration - a module containing functions for running initial database migrations

License

This project is licensed under the Apache License v2.0 - see the LICENSE file for more details.