You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-6Lines changed: 12 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,8 @@
5
5
6
6
> Demo of a simple Web API to validate data against predefined criteria
7
7
8
+
This web service implements a **[Data Validation API](#API)** being specified as part of project AQinDA. The API helps allows to check data against defined application profiles and to integrate such checks into data processing workflows. The API is not meant to define quality criteria of application profiles, this is another part of the project.
9
+
8
10
## Table of Contents
9
11
10
12
-[Installation](#installation)
@@ -25,9 +27,12 @@ The web application is started on <http://localhost:7007> by default.
25
27
26
28
### From sources
27
29
28
-
- Clone repository
29
-
-`make deps`
30
-
-`make start`
30
+
Requires basic development toolchain (`sudo apt install build-essential`) and Python 3 with module venv to be installed.
31
+
32
+
1. clone repository: `git clone https://github.com/gbv/validation-api-ws.git && cd validation-api-ws`
33
+
2. run `make deps` to install dependencies
34
+
3. optionally [Configure](#configuration] the instance with
35
+
3.`make start`
31
36
32
37
### Via Docker
33
38
@@ -53,9 +58,9 @@ docker run --rm -p 7007:7007 validator
53
58
54
59
## Configuration
55
60
56
-
If local file `config.json`exist, it is used for configuration, otherwise [default configuration](config.default.json)is used.
61
+
The [default configuration](config.default.json) contains some base formats. To defined the application profiles to be checked against, create a configuration file in JSON format at `config.json`in the current directory or in the local subdirectory `config`. It is also possible to pass the location of config file or directory with argument `--config` at startup.
57
62
58
-
Configuration must contain key`profiles` with a list of profile objects, each having a unique `id` and a list of `checks`. See [profiles configuration JSON Schema](lib/validate/profiles-schema.json) for details. Additional config fields include:
63
+
The configuration file must contain field`profiles` with a list of profile objects, each having a unique `id` and a list of `checks`. See [profiles configuration JSON Schema](lib/validate/profiles-schema.json) for details. Additional config fields include:
59
64
60
65
-`title` (title of the webservice) is set to "Validation Service" by default.
61
66
-`port` (numeric port to run the webservice) is set to 7007 by default.
@@ -108,7 +113,6 @@ Same as GET request but data is passed as request body or as file upload (conten
108
113
109
114
## Contributing
110
115
111
-
Requires basic development toolchain (`sudo apt install build-essential`) and Python 3 with module venv to be installed.
112
116
113
117
-`make deps` installs Python dependencies in a virtual environment in directory `.venv`. You may want to call `. .venv/bin/activate` to active the environment.
114
118
-`make test` runs unit tests
@@ -126,6 +130,8 @@ test -f config.json && docker run --rm -p 7007:7007 --volume ./config.json:/app/
126
130
127
131
See also <https://github.com/gbv/validation-server> for a previous implementation in NodeJS. Both implementations may converge
128
132
133
+
This work is [funded by DFG (project "AQinDa")](https://gepris.dfg.de/gepris/projekt/521659096)
0 commit comments