GithubHelp home page GithubHelp logo

ishan-appendix / databank-sri-lanka Goto Github PK

View Code? Open in Web Editor NEW

This project forked from team-watchdog/databank-sri-lanka

0.0 0.0 0.0 8.35 MB

We are building a collaborative platform to create and collect key datasets.

Home Page: https://databank.watchdog.team

JavaScript 2.05% TypeScript 96.91% CSS 1.04%

databank-sri-lanka's Introduction

WatchDog Databank Project

WatchDog Databank Project Logo

🗳️ We are building a collaborative platform to create and collect key datasets.

Our public institutions are horrible at data management. This is a fact known to most researchers, students, and journalists. If you browse through government websites for long enough, you can find a plethora of data. But the problem lies with how it is organized. Here are a set of problems we at WatchDog have to constantly deal with:

  • Data is stuck inside poorly formatted PDF or PPT files.
  • Data discovery happens almost by accident. Datasets are poorly organized and search functions are non-existent.
  • Data is not machine-readable.
  • The Government Open Data Portal exists (https://data.gov.lk/) but hasn’t been updated in years making the portal practically useless.
  • Bad data archiving practices/data disappearing into the void.

Core Platform

Everything happens on Github

The core platform, all datasets, governance, and discussions will take place inside a single repository on Github. Here’s a breakdown of our thinking:

  • Simplicity

    • By hosting everything on a simple repository on Github, we eliminate the need for

      • External databases

      • Implementing user management and authentication logic, administration interfaces, dataset management logic, etc.

      • Contributions can happen through Pull Requests. This also comes with the ability to manage revisions, comments, and rejections.

      • You can request a dataset by simply raising an issue on Github. For non-technical users and sake of consistency, we’ll create a simple form on the public-facing portal which utilizes the GitHub APIs.

  • Transparency

    • We noticed that the https://data.gov.lk/ portal has the ability for users to suggest and upload datasets. But there’s no transparency as to what happens to these requests or uploaded data waiting for approval. Utilizing Github’s Pull Request and Issues functionality, we can make sure that all of these contributions are visible to the public.

    • Git provides us with an audit trail and shows who changed what and when.

  • Resiliency

    • If WatchDog seizes to exist as an organization, our community should be able to continue updating the portal without our direct involvement.

    • This can happen in two ways:

      1. Transferring ownership of the repository to a different organization (Action needed from the repository owner — Team WatchDog)

      2. Forking the repository together with the core architecture and all underlying datasets (No action required on behalf of the repository owner)

Contributing

How can I add a dataset?

  1. Clone the repository to your computer
git clone <address>
  1. Create a new branch for your dataset. Use the branch naming convention dataset-new/<dataset identifier>
git checkout -b new-dataset/<dataset_identifier>
  1. Create a new directory for your dataset inside datasets/

  2. Add your files to the folder you created.

  3. Use the Meta Generator Tool to generate the metadata file for your dataset.

  4. Copy the generate JSON structure and add it to a file named meta.json inside the directory you created.

  5. Here’s some information you should include inside the Notes section:

    1. About the dataset

    2. Links to the original source and retrieval dates

    3. Collection methodology and tools used

    4. Copyright information

    5. Contributor Information (Optional)

  6. Commit your code

git commit -am "Insert commit notes here"
  1. Push your changes to the repository
git push origin  new-dataset/<dataset_identifier>
  1. Go to the branch on the GitHub web interface and create a Pull Request to the main branch

  2. Members from our core team will review your Pull Request and let you know if there are any necessary changes.

  3. When our core team approves your changes, the data portal will get updated with your dataset. Congratulations and thank you for your contribution! 🥳

How do I request a dataset?

  1. Create a GitHub account (github.com) if you don’t already have one.
  2. Navigate to the Issues section of the databank-sri-lanka repository: https://github.com/team-watchdog/databank-sri-lanka/issues
  3. Click on the “New Issue” button
  4. Provide as much information as possible. Including but not limited to:
    1. Why are you requesting this dataset?
    2. Links to original data
    3. How do you want the data to be formatted?
    4. Include any related files as attachments
  5. Submit request by clicking on “Submit new issue”

Caveats

  • For Files more than 20MB upload files to a third-party service such as S3 and add the link to the Notes section of the Metadata file for the dataset.

Running the project locally

Prerequisites:

  • NodeJS

Steps

  1. Run yarn install

  2. Run yarn dev

  3. Visit http://localhost:3000

databank-sri-lanka's People

Contributors

ishan-appendix avatar ishan-marikar avatar nisalp avatar nisalperi 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.