Giter VIP home page Giter VIP logo

jamaya2001 / solution-starter-kit-disasters-2020 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from call-for-code/solution-starter-kit-disasters-2020

0.0 1.0 0.0 2.45 MB

WORK IN PROGRESS - Materials for the Call for Code 2020 solution starter kit for natural disaster resiliency in the context of climate change.

License: Apache License 2.0

JavaScript 57.49% Starlark 1.24% Java 5.83% Ruby 6.42% Objective-C 8.78% HTML 13.48% CSS 6.76%

solution-starter-kit-disasters-2020's Introduction

Disaster resiliency in the context of climate change

This solution starter was created by at the United Nations Human Rights Office in Geneva, Switzerland on February 27-28, 2020. It features contributions by technologists from Unity, Johnson & Johnson, and Red Hat.

Authors

  • Scott Sewell - Unity
  • Jochen Bertels - JNJ 
  • DeveloperSteve Coochin - IBM 
  • Joshua Zheng - IBM

Contents

  1. Overview
  2. Video
  3. The idea
  4. How it works
  5. Diagrams
  6. Documents
  7. Datasets
  8. Technology
  9. Getting started
  10. Resources
  11. License

Overview

What's the problem?

Natural disasters kill an estimated 90,000 people and affect close to 160 million people worldwide every year, according to the World Health Organization. Severe weather events in particular have been increasing in frequency and intensity over the past decade and scientists believe climate change is a significant factor.

Read the Sendai Framework for Disaster Risk Reduction to see how we make our communities safer and more resilient to disasters.

How can technology help?

Technology can help our society better prepare for and respond to natural disasters. Specific use cases include reducing exposure to hazards, lessening vulnerability of people and property, wise management of land and the environment, and improving preparedness and early warning for adverse weather events that are gaining in frequency through climate change.

Video

Call for Code Solution Starter: Water sustainability in the context of climate change

The idea

Due to climate change, floods are becoming more frequent and more severe, leading to specific issues for affected communities. This solution starter kit aims to reduce mortality rates by helping potential victims better prepare for, act during, and recover from a flood. Using a mobile application that helps users share knowledge of best practices and facilitates communities organizing themselves, communities will be able to reduce mortality rates and mitigate economic damage so they can recover faster after a flood.

How it works

The goal of the application is to provide an end-to-end solution to help potential victims combat floods. The team approached the problem by breaking it down into three phases: before the flood, during the flood, and after the flood.

Before the flood, the user is presented a checklist of best practices on how to prepare for the upcoming flood. The checklist is derived from the Sendak Framework for disaster preparedness, along with recommendations from seasoned search and rescue professionals. The application will also enable the local authorities to communicate with the user to better enforce disaster preparedness.

In the event of a flood, the app will switch into emergency mode. This mode can be activated by either the user or the local authorities. While in this mode, the app displays a simple evacuation route to the nearest shelter that still has capacity.

After the flood, the app will provide post-flood best practices to help victims rebuild their homes. The app will also enable a community marketplace, providing a platform for residents to trade resources and help push the economy to recover.

By combining IBM's Data & AI offerings with HERE Technologies' location services, a developer can quickly get started building such a solution. The starter kit offers a React Native template that has integration with Watson Assistant and HERE Technologies' location services prebuilt, helping developers jumpstart the development process.

Diagrams

Disaster resiliency architecture diagram

This solution starter idea combines machine learning and location services with real-time information to get users the information they need to take action quickly.

  1. The user launches the mobile app and can access information across multiple services.
  2. The use can ask questions to Watson Assistant and get answers to flood planning and recovery related questions.
  3. The user can access recommendations on flood preparation checklists and best practices with Watson Machine Learning.
  4. The user receives real-time weather updates from The Weather Company.
  5. The user can obtain geolocation data for safety points and plot evacuation routes using HERE Location Services.

Documents

Datasets

Technology

IBM Cloud Services

HERE Location Services

Getting started

Follow the steps below to get this starter kit up and running. The starter kit is composed of a React Native frontend and a Node.js backend. The application includes a chat bot powered by Watson Assistant answering questions about flood emergencies and integrates map & location services provided by HERE Technologies.

Prerequisite

Steps

  1. Set up an instance of Watson Assistant
  2. Generate an API Key from the HERE Developer Portal
  3. Run the server
  4. Run the mobile application

1. Set up an instance of Watson Assistant

Log into the IBM Cloud and provision a Watson Assistant instance.

  1. Provision an instance of Watson Assistant from the IBM Cloud catalog
  2. Launch the Watson Assistant service
  3. Create an Assistant
  4. Add a dialog skill to the Assistant by importing starter-kit-flood-dialog-skill.json
  5. Click on the dialog skill's action menu and select View API Details
  6. Take note of the Assistant ID and Api Key
  7. Go to Preview Link to get a link to test/verify the dialog skill

2. Generate an API Key from the HERE Developer Portal

The application uses the HERE Location Services for maps, searching, and routing.

To access these services an API Key is required. Follow the instructions outlined in the HERE Developer Portal to generate a JavaScript API Key.

3. Run the server

To setup and launch the server application:

  1. Go into the starter-kit/server-app directory of the cloned repo
  2. Copy the .env.example file in starter-kit/server-app and create a new file named .env
  3. Edit the newly created .env file and update the ASSISTANT_ID and ASSISTANT_IAM_APIKEY with the values taken from the dialog skill's API Detail page in Watson Assistant
  4. Edit the value of name in the manifest.yml to your desired application name (e.g., my-app-name)
  5. From a terminal
    1. Go into the starter-kit/server-app directory of the cloned repo
    2. Install the dependencies: npm install
    3. Launch the server application locally or deploy to IBM Cloud:
      • To run locally:
        1. Start the application: npm start
        2. The server can be accessed at http://localhost:3000
      • To deploy to IBM Cloud:
        1. Log in to IBM Cloud account using the IBM Cloud CLI: ibmcloud login
        2. Target a Cloud Foundry org and space: ibmcloud target --cf
        3. Push the app to IBM Cloud: ibmcloud app push
        4. The server can be accessed at a URL using the name given in the manifest.yml (e.g., https://my-app-name.bluemix.net)

4. Run the mobile application

To run the mobile application (using the Xcode iOS Simulator):

  1. Go into the starter-kit/mobile-app directory of the cloned repo
  2. Copy the .env.example file in starter-kit/mobile-app and create a file named .env
  3. Edit the newly created .env file
    • Update the STARTER_KIT_SERVER_URL, with the URL to the server app launched in the previous step
    • Update the HERE_APIKEY with the API Key generated in the HERE Developer Portal
  4. From a terminal:
    1. Go in to the starter-kit/mobile-app directory
    2. Install dependencies: npm install
    3. Go into the ios directory: cd ios
    4. Install pod dependencies: pod install
    5. Return to the mobile-app directory: cd ../
    6. Launch the app in the simulator: npm run ios

Resources

License

This solution starter is made available under the Apache 2 License.

solution-starter-kit-disasters-2020's People

Contributors

vabarbosa avatar lizklipp avatar krook avatar joshzzheng avatar

Watchers

James Cloos 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.