:sparkles: Data Curator on Microsoft Store. :department_store: :sparkles:
:sparkles: Data Curator on Apple Mac Store. :department_store::sparkles:
Request a new feature :bulb: Report a bug :beetle: View our plans :rocket: Development downloads
Data Curator is a simple desktop data editor to help describe, validate and share usable open data.
The latest release of Data Curator can be downloaded from:
Alternatively all versions, including unsigned latest release, can be found in our github releases
Open data creators are increasingly focusing on improving open data publishing so that data can be used to create insight and drive positive change.
Open data is more likely to be used if data consumers can:
Using Data Curator open data producers can:
Using data from any of these sources, you can:
Once the data is described and validated, you can share the data and its description by exporting a Data Package to:
Open data consumers can use published Data Packages to:
Interested in this project? Subscribe to Data Curator News to get occasional updates on our progress and hear about each release. Find help.
We welcome all types of contributions to Data Curator:
We acknowledge the great work of others. We are:
Our privacy policy : Data Curator Privacy Policy
Data Curator proudly uses open source software, including:
software | organisation | licence | support |
---|---|---|---|
Comma Chameleon | The Open Data Institute | MIT | join |
datapackage.js | Open Knowledge | MIT | donate |
tableschema-js | Open Knowledge | MIT | donate |
Electron | GitHub | MIT | contribute |
Node.js | Node.js | licence | contribute |
Chromium | The Chromium Authors | licence | contribute |
Vue.js | Yuxi (Evan) You | MIT | donate |
electron-vue | SimulatedGREG (Greg Holguin) | MIT | contribute |
Handsontable | Handsontable | MIT | buy pro |
Cucumber.js | Cucumber.io | MIT | contribute |
We develop against the 'develop' branch. The 'master' branch contains tagged releases. We are currently using this branching model by Vincent Driessen.
node
yarn
electron
You can use yarn to install all relevant packages and development dependencies. (Install yarn)
We're keeping our dependencies up to date with Dependabot.
To open the app on your local machine and run Data Curator in development mode:
yarn
(pulls down all dependencies)yarn run dev
Data Curator will launch with an extra Developer menu.
Data Curator is built using Electron, a framework that allows developers to build desktop applications using web technology.
There are two parts of the application, the main process and the renderer process. The main process deals with things like carrying out file operations, validating CSVs, and rendering views. The renderer acts very much like client side javascript in a web browser, dealing with things like presentation, and user interactions.
Electron passes and listens for messages between main and renderer using the IPC module, one for the main process and one for the renderer process.
We have adopted Standard JS as our JavaScript coding standard.
We have adopted Recommended Vue as our Vue coding standard.
Acceptance tests for Data Curator are:
integrated with:
Spectron, a purpose built Electron testing framework
Cucumber-js, a tool for running automated tests written in plain language for JavaScript
reporting tools:
nyc, a tool for javascript test coverage
Cucumber-html-reporter, generates Cucumber HTML reports with pie charts
other common testing tools, such as
Acceptance tests are automatically added to Cucumber Pro via a GitHub webhook.
For unit testing, we use:
For continuous integration, we use:
We plan to integrate the acceptance and unit tests with code commits
To run unit tests and implemented acceptance tests:
yarn run test
To build Data Curator locally:
yarn run build
To automate deployment, we are using:
To trigger the automated build and draft release, create and push a git tag, following the versioning pattern used in current releases. Ensure that any changes in this tag are also released back to develop and master branches.
Changes are recorded on the Releases page.