Skip to content
Data Stewardship Wizard - Server Application
Haskell Other
  1. Haskell 99.7%
  2. Other 0.3%
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bson-generic Prepare for monorepo Aug 23, 2019
config Prepare for monorepo Aug 23, 2019
dsw-metamodel-migrator Prepare for monorepo Aug 23, 2019
dsw-server Prepare for monorepo Aug 23, 2019
mongoDB-migration Prepare for monorepo Aug 23, 2019
scripts Prepare for monorepo Aug 23, 2019
.gitignore
.hindent.yaml Change folder structure (embbed source code into a root of repository) Jan 5, 2018
.travis.yml Prepare for monorepo Aug 23, 2019
README.md
stack.yaml Prepare for monorepo Aug 23, 2019
stack.yaml.lock

README.md

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 3.4.10 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

$ hpack
$ stack build
$ stack exec dsw-server

Run tests

Run these comands from the root of the project

$ hpack
$ 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 lib -name '*.hs' | while read line ; do hindent $line ; done
$ find test -name '*.hs' | while read line ; do hindent $line ; done

Code coverage

Run these comands from the root of the project

$ hpack
$ 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.

You can’t perform that action at this time.