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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
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
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
Register for an IBM Cloud account.
Completing this tutorial should take about 45 minutes.
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
- 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.
- From the main navigation menu (☰), select Resource list to find your services under Services.
- 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=
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
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
cd embrace-lions-for-justice
Start frontend web app
cd frontend
npm install
npm run serve
Start backend
cd backend
npm start
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.
This solution starter is made available under the Apache 2 License.