Coder Social home page Coder Social logo

ds-wizard / dsw-server Goto Github PK

View Code? Open in Web Editor NEW
1.0 7.0 4.0 2.67 MB

Data Stewardship Wizard - Server Application

Home Page: https://ds-wizard.org/

License: Apache License 2.0

Haskell 99.69% Shell 0.06% Dockerfile 0.04% CSS 0.21%
knowledge-model data-stewardship data-management-planning research-data-management data-management-plan

dsw-server's Introduction

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.

dsw-server's People

Contributors

janslifka avatar josefdolezal avatar mareksuchanek avatar roper79 avatar touwwouter avatar vknaisl avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.