GithubHelp home page GithubHelp logo

worldbank-transport / rah Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 3.57 MB

Proof of concept for the Rural Accessibility Hub

Home Page: http://rah.surge.sh

License: MIT License

CSS 66.73% HTML 0.35% JavaScript 32.92%

rah's People

Contributors

danielfdsilva avatar olafveerman avatar qli1205 avatar ricardoduplos avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

rah's Issues

Notify moderators

Find a way to notify the RAH moderators. Possibly:

  • create a team on Github
  • cc them in the PR message

Technical approach and workflow

We propose to implement the Rural Accessibility Hub using a static site generator like Metalsmith, and relies on Github to host the site and provide a content moderation workflow. This approach results in a website that doesn't need a backend, and is performant, secure and cost efficient to maintain.

Github is built and optimized to collaborate on code. The exact same workflows that teams use to review and approve code contributions, can be used to moderate content. Add the workflows that automatically publish the content to the live site, and we have a robust backend for the Rural Accessibility Hub that requires no further infrastructure.

Workflow

The general workflow with this approach is:

  1. A user that has run analysis in RAM chooses to export the project results to the Data Hub
  2. During export, the user provides additional information about the analysis
  3. The application automatically creates a GitHub Pull Request with this information
  4. The team that manages the RAH gets a notification and can accept or reject the Pull Request

1. Export results to RAH

After a user runs analysis for a scenario in RAM, they can choose to export the project results to the Data Hub.

2. Provide additional information

On export, the user provides additional information that will be used to provide context about the analysis on the Data Hub.

3. Create Pull Request

Using the information provided by the RAM user, the backend automatically creates a Pull Request in the repository for the Rural Accessibility Hub on Github. This Pull Request contains:

  • a markdown file with the user provided content from the form
  • the results of all the scenarios of the project in CSV and GeoJSON format

This Pull Request will generate a notification to all users on the RAH moderation team. The Pull Request message will also contain a quick link to Prose to make it easier for content moderators to edit the file.

4. Handle Pull Request

The moderation team can merge (accept) or close (reject) the Pull Request. If there is a need to make changes to the markdown file before merging the PR, they can do so through Prose.

When the PR is merged, Circle will build the site and push the new version live.

Missing countries.json

Prose will not load because countries.json gives a 404
GET https://rah.surge.sh/assets/content/countries.json?callback=countries_cb 404 (Not Found)

Add guidelines

Add moderation guidelines to:

  1. remove a project
  2. edit the content of a project

Go responsive

Components:

  • Global menu
  • Filter menu
  • Projects card list
  • Inpage actions
  • Map and legend
  • Project aside and main content
  • Footer contents

Update the Readme

With:

  • good explanation about the purpose of the project
  • links to editing guidelines

Functional prototype

The Rural Accessibility Hub will be a global hub to publish accessibility assets and analysis generated by instances of RAM. Pending a more thorough discovery process around needs and requirements, we will implement a functional prototype in static HTML that will showcase a basic feature set of this hub.

Catalog

The catalog contains an overview of published scenarios. This page could feature a map with project locations:

hub 2x

Results page

Each study has a dedicated page with basic metadata, a long description about the project, and download options with the final analysis (CSV with origin level results).

single 2x

cc @ricardomestre @danielfdsilva

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.