Skip to content

Latest commit

 

History

History
203 lines (153 loc) · 13 KB

tutorial.md

File metadata and controls

203 lines (153 loc) · 13 KB
draft ignore_prod display_in_listing title subtitle meta_title authors completed_date last_updated archive_date check_date time_to_read excerpt meta_description meta_keywords primary_tag tags components services runtimes related_content related_links cities collections meta_tags social_media_meta private_portals content_tags page_links_to
name email
Laura Bennett
lbenn@us.ibm.com
name email
Abiola Asojo
Abiola.Asojo@ibm.com
name email
Kalonji Bankole
kkbankol@us.ibm.com
name email
Danny Belitz
Danny.Belitz-CIC.Netherlands@ibm.com
name email
Brandon Kravitz
Brandon.Kravitz@ibm.com
name email
Monica Martinez
martimon@us.ibm.com
name email
Tunde Olokodana
Tunde.Olokodana@ibm.com
name email
Osai Osaigbovo
ooosaigb@us.ibm.com
name email
Lucia Ramos
Silvia.Ramos@ibm.com
name email
Debra Scott
scottdc@us.ibm.com
name email
Shalisha Witherspoon
Shalisha.Witherspoon@ibm.com
name email
Shonda Witherspoon
Shonda.Adena.Witherspoon@ibm.com
type slug
type slug
title url description
title url description

Markdown goes here and below

Incident Accuracy Reporting System (IARS)

User Interface design

This solution starter was created by technologists from IBM. We currently live in an environment where we are finding more instances where law enforcement agencies are racially biased and are conducting unlawful practices and policies (e.g. "dirty policing"). The practices and policies are shaping the methodology by which data is created which increases inaccurate, skewed or systemically biased information. The lack of transparent and accurate data available to assess police behavioral infractions means, police reports can be falsified and covered up.

This tutorial shows you how to create a content management application that captures statements, videos, and audio feeds from first-hand individuals relating to police incident reports. It provides a(n):

  • interface for first-hand individuals to input information or data related to incident report
  • automated/manual flagging of inconsistencies and inaccuracies contained in initial incident reports based on collected data
  • cross reference report data with officer history on misconduct
  • mechanism for disputing claims in incident reports
  • backend to a Blockchain instance that contains a hash to the actual document stored in Object Store

Learning objectives

In this tutorial, you will:

  • Provision the following Cloud services: 1) Watson Speech to Text 2) Watson Language Translator 3) IBM Cloud Object Storage

  • Install and configure a local instance of Hyperledger Blockchain

  • Initiate the Backend server

  • Initite the Frontend application

Prerequisites

Register for an IBM Cloud account.

Get the code

Estimated time

Completing this tutorial should take about 45 minutes.

Architecture diagram

Component Model

Steps

Provision your Cloud Services

Create a .env file by copying the lions-of-justice/backend/STT-Audio/env.example in the same directory.

Provision the following services:

  • Speech to Text
  • Language Translator
Instantiation IBM Cloud Services

Create the service instances
  • If you do not have an IBM Cloud account, register for a free trial account here.
  • Click here to create a Speech to Text instance.
  • Click here to create a Language Translator instance.
  • Click here to create a Object Storage instance.
Gather credentials
  1. From the main navigation menu (☰), select Resource list to find your services under Services.
  2. Click on each service to find the Manage view where you can collect the API Key and URL to use for each service when you configure credentials.

Add the credentials for each respective service to the .env file you created earlier:


# Environment variables
SPEECH_TO_TEXT_IAM_APIKEY=
SPEECH_TO_TEXT_URL=

LANGUAGE_TRANSLATOR_IAM_APIKEY=
LANGUAGE_TRANSLATOR_URL=

Provision Blockchain Ledger

After provisioning the Object Storage, Speech to Text and Language Translator services, we'll need to then deploy a blockchain ledger. This ledger will keep track of all digital assets that have been uploaded. There are two ways to deploy a ledger, either locally or in the cloud. For this pattern, we will focus on deploying the Blockchain locally.

Local Deployment

This step will start the network in a series of docker images, create a network channel and join a peer.

cd lions-of-justice/backend/blockchain/local
./startFabric.sh

Deploy Blockchain App

Once the blockchain ledger is up and running, we'll deploy an application to track uploaded media on the ledger. This works by taking a hash of a file and storing it on the blockchain ledger. Then, the original file is placed in a Cloud Object Storage instance. If the file is tampered with in the Object Storage, it will no longer match the hash, and an alert will be generated.

git clone https://github.com/IBM/Blockchain-for-maintaining-Digital-Assets

Fill out configuration file as directed here

Start the web application

cd embrace-lions-for-justice

Start frontend web app

cd frontend
npm install
npm run serve

Start backend

cd backend
npm start

Summary

You now know how to integate AI with Blockchain technologies to build an intelligent content management system that ensures consistency and security for uploaded content. Now you might want to consider how to extend the application by adding support for mobile devices. Additonally, given that law enforcement agencies might consider using different cloud platforms, consider how to deploy the application across a multi-platform environment.

License

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