Giter VIP home page Giter VIP logo

nectar-publisher's Introduction

Nectar Publisher ๐Ÿ

Document your tabular datasets and create codebooks and machine actionable metadata using DDI.

Note

Nectar Publisher is under early development and might not work correctly

Run the application

Implementation and status for Nectar Publisher 1.0

Dataset inputs

  • CSV / TSV - files
  • Excel / ODS spreadsheet
  • SPSS (via OpenCPU)
  • SPSS (local in browser parser)

Metadata imports

  • DDI-C 2.5 variable documentation
  • DDI-L 3.3 variable documentation

Output

  • Metadata
    • DDI-C 2.5 XML
    • DDI-L 3.3 XML
    • DDI-CDI JSON-LD
  • Codebook
    • Markdown
    • Html
    • Pdf

Plugin system to push metadata & data to external repository

  • Define a interface with methods for export
  • Example implementation for a repository

Column based listing with variables in focus

  • Responsive layout
  • User interviews and requirements for efficent interface
  • Layout design

Metadata

Data file documentation

  • File metadata (extracted from file)
    • filename
    • delimiter
    • mimeType
    • size (bytes)
    • checksum (sha256)
  • Variable metadata (autodetected & input)
    • Id (column header name if exist, fallback to column number)
    • Column number (auto generated on file import)
    • Name (set to column header if existing)
    • Label
    • Description
    • DataType
    • UnitCode
    • Min/Max value
    • CollectionMethod
    • ResponseDomain
      • Text
      • Numeric
      • Datetime
      • Code
        • value
        • label
        • isMissingValue
        • frequency

Build instructions

No build tools required.
Nectar Publisher aims for easy development & deployment without the need for any special tools or processes.
Open any source file; edit, save see changes in the browser KISS Principle.

License

MIT

nectar-publisher's People

Contributors

borsna avatar marc-i avatar julielen16 avatar oliverhopt avatar dmlung avatar

Stargazers

Nana Boateng avatar

Watchers

 avatar Adrian Duศ™a avatar  avatar  avatar

nectar-publisher's Issues

refactor handling of variable hasIntendedDataType

hasIntendedDataType should be the general type (numreric, text, datetime, coded) and varFormat should specify a more specific data type from the DDI-CV (integer, double, string etc.).
Right not these are mixed up and they should not be connected.

DDI-CDI output

fix the DDI-CDI jsonld output to work with the new draft version of DDI-CDI

sha256 using stream

Generate checksum by streaming file input and returning the digest checksum

async function checksum(type){
  const finput = document.getElementById('input');
  const file = finput.files[0];
  const arrayBuffer = await file.arrayBuffer();
  const hashBuffer = await crypto.subtle.digest(type, arrayBuffer); // hash the message
  console.log(hashBuffer);
  const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert buffer to byte array
  const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
  console.log(hashHex);
}

refactor Parser to be more general

cleanup the data file parser to handle differens files based on file extension. the external one for spss should trigger a modal instead of having its own button

DDI-C 2.5 import variable documentation

Import variable documentation from a DDI-C 2.5 XML file.
For first version only import variable metadata on matching variable id:s (and matching code categories)

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.