diff --git a/app/frontend/README.md b/app/frontend/README.md index b37cb484..24ef7506 100644 --- a/app/frontend/README.md +++ b/app/frontend/README.md @@ -90,7 +90,7 @@ body { ``` ## Adding custom CSS -When importing CSS from a third-party package for the first time, you may encounter the error `Module parse failed: Unexpected token... You may need an appropriate loader to handle this file typ...`. You need to register the path to the stylesheet directory in [stylePaths.js](./stylePaths.js). We specify these explicity for performance reasons to avoid webpack needing to crawl through the entire node_modules directory when parsing CSS modules. +When importing CSS from a third-party package for the first time, you may encounter the error `Module parse failed: Unexpected token... You may need an appropriate loader to handle this file typ...`. You need to register the path to the stylesheet directory in [stylePaths.js](./stylePaths.js). We specify these explicitly for performance reasons to avoid webpack needing to crawl through the entire node_modules directory when parsing CSS modules. ## Code quality tools * For accessibility compliance, we use [react-axe](https://github.com/dequelabs/react-axe) diff --git a/content/modules/ROOT/pages/01-introduction.adoc b/content/modules/ROOT/pages/01-introduction.adoc deleted file mode 100644 index 5c925f52..00000000 --- a/content/modules/ROOT/pages/01-introduction.adoc +++ /dev/null @@ -1,25 +0,0 @@ -== Introduction and Challenge Overview - -=== The Story Behind The Solution - -This solution pattern extends Globex, a fictitious retail store that has undergone modernization and has already adopted Kafka as a streaming platform where customers can provide feedback on their eCommerce website. - -Based on customer sentiments (analysis using the intelligent application), an event gets triggered with an ansible playbook to send the filtered messages to the respective category Product Manager for their review on an in-house Chat System. - -Based on the product reviews using this feedback system and Grafana dashboard can take data-driven intelligent decisions and use the same ChatOps system to either block the product, offer more discounts, etc. This again triggers an event with Ansible and implements the logic/operation being requested through the chat system. - - -=== The Solution - -The solution is based on an Event Driven Ansible which is based on Apache Kafka and ChatOps as multiple data streaming platforms to trigger events based on filters or chat commands. The Product Reviews submitted by a customer are pushed in a Kafka topic, which is then consumed by a Review Moderation Service (moderate for foul/abusive language) and a Sentiment Analysis Service (scores the sentiment as positive or negative). In this case we only use Sentiment Analysis Service. - -The data flows in and out of different systems through the OpenShift Serverless Eventing architecture, which uses brokers, sources, and triggers to build a scalable, fully decoupled system. - -Once a review is moderated and marked as suitable, this is persisted in the Globex Product Review DB (PostgreSql) to be shown on the Products page. The Sentiment Analysis score is persisted within a Time Series DB (InfluxDB in this case) then used to build a Dashboard (Grafana) to view how well a particular category of products is performing over different time period - -Based on the filters on the sentiments being received by Event Driven Ansible, triggers a playbook for a given feedback and the message is sent to the respective Product Manager (for example : Clothing or Utensils) chat room using ChatOps (Rocket Chat) System. A combination of these messages along with Granafa real time dashboard (using InfluxDB time series database) can help Product Managers decide if they want to stop a specific product within their respective category or offer more discounts, etc. Based on what they decide, issue a command on the same ChatOps system (for the specific category channel on the Rocket Chat App) to disable or discount a particular product. This triggers an event that Event Driven Ansible captures, runs the respective playbook to action the command (disabling the specific product in the database or updating the discount). - -=== Lab Access - -The terminal window to your right is *already* logged into the lab environment as the `{ssh_user}` user via `ssh`. -All steps of this lab are to be completed as the `{ssh_user}` user. diff --git a/content/modules/ROOT/pages/index.adoc b/content/modules/ROOT/pages/index.adoc index 2bb8093c..3d77b4b6 100644 --- a/content/modules/ROOT/pages/index.adoc +++ b/content/modules/ROOT/pages/index.adoc @@ -4,7 +4,7 @@ This lab will illustrate how the use of various AI/ML technologies can be combined to produce a valuable solution to a business problem. -The information, code, models and techniques it contains are illustration of what a first prototype could look like. It is not the definitive way of adressing the stated requirements. +The information, code, models and techniques it contains are illustration of what a first prototype could look like. It is not the definitive way of addressing the stated requirements. == Contributing