 I'm David Schachsneider, Global Partner Solutions Architect at CouchBase, the day I'd like to talk about and demonstrate a catalog and inventory use case. Businesses with large and dynamically changing portfolios require an agile and flexible data infrastructure that allows them to deliver relevant product content and a real-time view of inventory throughout the customer experience to drive every browse closer to a buy. The CouchBase data platform combines product inventory information in real-time, gives content authors the flexibility to make changes on demand and delivers millions of requests per second at low latency, all in the pursuit of a superior customer experience. There are four main components of a catalog and inventory solution. Session data where you can manage critical online session data in real-time so you can monitor user stats, maintain security, track behavior, place ads, provide access to content and more. Order data so you can analyze data from the past and make more accurate predictions for the future. Inventory data, we offer a JSON flexible schema and multiple access patterns like SQL, full-text search and N-hoc analytics, which make it easy to store and serve skew information, location data, product descriptions and more. And finally, product and pricing data which combines new and changing forms of product and pricing data with a real-time inventory information from any number of sources to deliver a responsive and reliable catalog. Now let's look at a reference architecture. We see the content management system which consists of the couch-based data platform and microservices which interact with the platform loading data interacting with couch-based. To the left, we may have several data sources which they include a mainframe, a data warehouse, web clicks or social media. We may also have a downstream system such as a data lake. In the web tier, we have the couch-based sync gateway. The sync gateway is a synchronization server and a couch-based for mobile and edge deployment. There are also consumer web applications. Let's look at our demo solution. We have an open-shift cluster with a single namespace or project. Within the couch-mart namespace, we have the couch-based autonomous operator which is used to deploy, maintain and manage the couch-based cluster. The couch-based cluster consists of three server pods each running the data index query and search services. The data is stored using persistent volumes. Next, we have the sync gateway which synchronizes data between the couch-based cluster and the couch-based light embedded database within the mobile application. Finally, we have a web application which provides the end user a browser-based catalog and ordering application. Our solution components, we are running on Red Hat OpenShift 4.6. We have the latest version of the couch-based autonomous operator. We have couch-based server enterprise, couch-based sync gateway enterprise, Android Studio and we're using a web server and mobile application hosted in a public GitHub repository under couch-based labs couch-mart hyphen demo. Now let's get to the demo. We have a six node open-shift cluster running in a public cloud environment. We have the couch-based operator installed via the operator hub. We click through here, we can see all instances and we can see that we've deployed a couch-based cluster as well as a couch-based bucket named couch-mart. If we look at pods, we can see the three couch-based server pods running as well as the web application. Now let's go to our couch-based console. You can see it, the dashboard, the three servers deployed. Now let's look at our data a little bit. Under items, we can see the complete item list for our use case. If we click on individual products, we can see that we have category, price, description and stock. Now let's go to our web application. To interact with the web application, we need to enter in a unique username as well as five items and then we can click submit at the bottom of the page. If we go back to our console, you can see the order is already arrived in the system. We can see the actual products that were involved in the order. Now let's make some additional orders here. Now that we have additional orders in the system, we can actually interact with the data. We can go to our query workbench and let's find the top five most popular items. So we have bananas, tea bags, crisps, burger and Scotch egg. We can set a profit margin based on cost versus price. Go back and make sure that our items have been updated. So now you can see the price and the cost here. Now let's deploy the couch base sync gateway and our mobile application. The couch base sync gateway is deployed like any other stateless service on OpenShift. It requires a configuration to manage the synchronization between the couch base cluster and the couch base mobile database. Now this is configured as a secret and so our secret is basically a config.json. And if we look here to look at the values, then this will define the synchronization and values and rules between the two. So now once we have that, we can deploy our sync gateway and you can see the YAML that I'm using fairly simple. We have an image as well as a service so we can access the port externally. Now if we look under pods, we can see the container being created. Once the container is created, we would need to create a route to be able to access the service remotely. The port is 4984. Once created, we should be able to access the port to make sure that this is up and running. And yes, we can verify that we have version 2.8 and that this is running. Now that the sync gateway is deployed, we need to deploy our mobile application. We're gonna be using Android Studio and an emulator within. All we needed to change from the source code based on the public GitHub repository is the endpoint as defined by our OpenShift route. So let's go ahead and get this started. Now that the application is started on the phone, we can see that we have the same catalog basically that we do on the web application, the same thing where we would select five items and click on the shopping cart to submit our order. Orders would be received immediately within the Couchface cluster. The Couchface mobile solution functions well in disconnected environments or areas with spotty coverage. When disconnected, the application can interact with the local database. When reconnected, we'll synchronize with the Couchface cluster. Let's put the phone in airplane mode and submit a few orders. Let's keep track of the total number of documents within our Couchface bucket. Let's take the phone back out of airplane mode and see what effect that that has. And as you can see, the item count immediately jumped up. Finally, let's update the stock on all the drinks to zero and see what effect that has on the mobile application. And as you can see now, the items are all grayed out on the mobile application for any of the drinks. So where can you go to learn more about Couchface? Couchface running on OpenShift, Couchface mobile and popular use cases, try developer.couchface.com. We have online learning, pre-online learning opportunities, a live system with Couchface Playground as well as reported sessions from our past Couchface Connect which features several talks featuring Red Hat. Thank you.