Continuous data provider for development, testing, staging and production.
DataHub is born to solving the lifecycle needs of mock/testing data of software development, from development, testing, staging to final production. Software engineers and test engineers use DataHub to manage their mock/testing data.
DataHub is flexible with how and where mock/testing data is stored.
You can use a local instance of Datahub on your local machine to manage your local testing/mock data during development. The mock/testing data is in plain text. It can be versioned and archived with any version control software, together with your project files.
In addition, the local mock/testing data can be pushed and synchronized to a remote Datahub server to meet the needs of data sharing and collaboration.
DataHub adopts the principle of unidirectional data flow to make sure you will always get the latest data.
Datahub can also automatically generate an API document from your mock/testing data, to help keep your API document up to date and consistent with your mock data.
DataHub adopts multi-scenario design, can group data according to the scene name, and provide scene data addition, deletion, and change, and can operate through DataHub's panel interface
DataHub provides a dashboard for you to manage your data. You can group data by scene, or by stage such as development, testing, or staging. Datahub provides standard CRUD funtions.
DataHub can save the response of each request by taking snapshot. You can use the archieved snapshot to find out what happened.
Macaca datahub is distibuted through npm. To install it, run the following command line:
$ npm i macaca-datahub -g
Start datahub server
$ datahub server
$ docker run -it -p 9200:9200 -p 9300:9300 macacajs/macaca-datahub
key | type | description | default |
---|---|---|---|
port | Number | port for DataHub server | 9200 |
mode | String | mode for DataHub server | 'prod' |
protocol | String | protocol for DataHub server | 'http' |
database | String | path to file database | $HOME |
store | String | path to migrate directory | undefined |
view | Object | view layer config | {} |
Sample: macaca-datahub.config.js
module.exports = {
mode: 'local',
port: 7001,
store: path.resolve(__dirname, 'data'),
view: {
// set assets base url
assetsUrl: 'https://npmcdn.com/datahub-view@latest',
},
};
Pass config file[.js
|.json
] to DataHub server.
$ datahub server -c path/to/config.js --verbose
DataHub use standard JSON schema syntax, schema must has the root
node.
{
"type": "object",
"required": [
"success"
],
"properties": {
"success": {
"type": "boolean"
},
"foo": {
"type": "object",
"description": "foo description",
"default": "",
"required": [
"bar"
],
"properties": {
"bar": {
"type": "string",
"description": "bar description"
}
}
}
}
}
live demo: webpack-datahub-sample
- android-datahub-sample - Android sample for DataHub
- ios-datahub-sample - iOS sample for DataHub
- antd-sample - Ant Design sample for DataHub
- angular-datahub-sample - Angular's ng toolchain sample for DataHub
More about datahub-proxy-middleware
More about egg-datahub
Build base mirror.
$ docker build -t="macacajs/macaca-datahub" .
Run as standalone just once service.
docker run -it -p 9200:9200 -p 9300:9300 macacajs/macaca-datahub
Run with existed datahub's database in your host.
$ docker run -it -v ~/.macaca-datahub/macaca-datahub.data:/root/.macaca-datahub/macaca-datahub.data -p 9200:9200 -p 9300:9300 macacajs/macaca-datahub
DataHub provides SDKs in multiple languages for easy integration with your test code.
xudafeng |
zhangyuheng |
zivyll |
brucejcw |
Chan-Chun |
atian25 |
---|---|---|---|---|---|
BernardTolosajr |
This project follows the git-contributor spec, auto upated at Sun Apr 22 2018 18:34:37 GMT+0800
.
The MIT License (MIT)