Giter VIP home page Giter VIP logo

research-narratives's Introduction

Research
Narratives

Sitelink Documentation Netlify Status

A web app to augment data analysis, visualization and storytelling through data-driven mindmaps. This was designed to help students, educators, journalists and researchers have a common whiteboard that links data, writing and narrative visualization.


Active development is taking place in the rewrite branch

This proof of concept has been developed as part of my internship at the Urban Informatics Lab at IIHS, Bengaluru

Alpha Demo

Use the alpha demo here. (DESKTOP ONLY!) This is a proof of concept and may not live up to production standards, use it with caution. Please report any bugs or issues that you find. Use the discussions tab to provide feedback or to start a discussion. There are no warranties provided.

How do I use this in general?

graph TB
    subgraph Uploading data
        a(Upload data you want to annotate)-->b(Select features or filter collections \n you want to annotate and add to the Research map)
    end
    subgraph Writing your story
        b-->d(Start a narrative and write your story)-->e(Connect data from \nResearch Map to sections of your story)-->f(Share your data-story)
        e-->g(Share your annotations)
    end

Components

Resources

  graph LR;
      Resources-->Spatial;
      Spatial--> GeoJSONs
        Resources-->Non-spatial;
        Non-spatial-->PDFs
        Non-spatial-->Media

Resources can be any document that you want to annotate and link to your mind map. This can be spatial data, papers, news articles, media and so on. Spatial data is currently treated as first-class data and is the only data that can be annotated. PDFs and media can be annotated, but not spatially and neither on the interface. This is a work in progress. So is support for other spatial formats.

What is a research map?

graph LR;
    a[Select a set of features]-->|Add to research map|R((ResearchMap));
    b[Filter a spatial data set]-->|Add to research map|R;
    c[Add text, images, media]-->|Add as second class citizens \n from within Research map|R;

A research map is the analogue of a mind map, but everything on it carries some annotated data. Once you upload Spatial data, you can select and/or filter a set of features and add them to the Research map.

You can link these features to other features, just like you would on a mind map. You can also add text, and images alongside these to the Research map.

How do I create data stories?

graph TD
    subgraph Upload and collect data
    A(Upload all spatial datasets, \n filter and add as necessary to the research map) -->B(Collect all features and media \n on the research map)-->C(Start a narrative from the pen menu)
    end
    subgraph Start a narrative
    C-->D(Fill in title and subtitle)-->E(Add a section to the data story)-->F(Connect data from other nodes to this sections \n ie: Spatial or Image)
    end

Once you have annotated and built a web of your narrative, you can start a narrative from the Pen menu. Each narrative section contains text, any media and other spatial data that you want to display alongside it. You can

  • Add a title to the narrative section
  • Add text to the narrative section
  • Add media to the narrative section
  • Add spatial data to the narrative section

How is non-spatial data annotated?

PDF and AV media annotation on the interface is not yet supported. Media can be annotated through the notes field. Pertinent annotations can be displayed in the Narrative section as required for the time being.

How do I share what I have created?

graph TB
    subgraph Sharing your research map
    A(Uploaded data)
    B(Research map with annotations)
    end
    subgraph Sharing your data-story
    C(Rendered story)
    D(Option to see data story and research map)
    end

Your research map is shareable, and so is your data story. Your research map will contain all the data that you have uploaded, and the annotations that you have made.

Technical FAQ

Roadmap and status

  • Spatial data annotation
  • Non-spatial data annotation
  • Datastory creation
  • Datastory sharing
  • Datastory export
  • Communities
  • User profiles
  • Sharing permissions
  • Datastory commenting

How do I contribute?

Please create a discussion thread or email at adhavan[dot]sivaraj16+RN[at]gmail[dot]com with Research Narratives as subject if you would like to contribute.

How do I run this locally?

    git clone https://github.com/rungdung/Research-Narratives.git
    npm install --force
    npm run dev

How do I deploy this?

  • Set up a Supabase project and API keys
  • Set up a MapTiler account and API keys

License

This project is licensed under the Apache License 2.0 - see the LICENSE.txt and NOTICE.txt file for details.

research-narratives's People

Contributors

rungdung avatar thedivtagguy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

amruthkiran94

research-narratives's Issues

Resources View DB

erDiagram
Space ||--o{ Project : HasMany
Project ||--o{ Resource : HasMany
Project ||--|| ResearchMap : HasOne
Space }o--o{ User : HasMany
Project }o--o{ User : HasMany
class Resource{
UUID ResourceId
JSON Documentation
Date UploadDate
}
class Project{
UUID ProjectId
JSON Resources
JSON Contributors

}
class ResearchMap{
   UUID ProjectId
   JSON Connections
   JSON Annotations
}
class Space{
    UUID ProjectId
    String ProjectName
    String ProjectDescription
    JSON Members
}
class User{
   String UserName
   String Email
}

Documentation

Forms of documentation needed

Technical

  • Roadmap
  • Contribution guide
  • Community level set up settings (self host)

Vision

  • Direction and motivation
  • Examples situations that are augmented by the tool

Going forward

  • Possible avenues of continued development

Introduce Node Types

Consider two large sets, one that contributes to the markup, the other solely as metadata

  • Datasets
  • Analysis type
  • Comments
  • Etc

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.