This is version 2 of Lauren's Lovely Landscapes. Version 1 is a static sample app that demonstrates how easy it is to deploy an app using IBM Bluemix. Version 2 expands Lauren's Lovely Landscapes to dynamically display prints as well as allow users to register, sign in, sign out, and buy prints.
Version 1 is hosted at http://laurenslovelylandscapes.mybluemix.net. The tutorial associated with Version 1 is posted at https://www.ibm.com/developerworks/cloud/library/cl-intro1-app.
The rest of the information on this page pertains to Version 2.
|Username||First Name||Last Name|
|Antarctica||Lauren's husband took this spectacular photo when they visited Antarctica in December of 2012. This is one of our hot sellers, so it rarely goes on sale.||100||penguin.jpg|
|Australia||Lauren loved her trip to Australia so much that she named her daughter Sydney.||120||sydney.jpg|
|Japan||Lauren and her husband babymooned in gorgeous Japan.||95||japan.jpg|
|Alaska||Lauren loves this photo even though she wasn't present when the photo was taken. Her husband took this photo on a guy's weekend in Alaska.||75||alaska.jpg|
|Las Vegas||What happens in Vegas, stays in Vegas...unless you take a picture.||90||vegas.jpg|
|Israel||Lauren and her husband were able to tour Israel after Lauren spoke at IBM Business Connect in Tel Aviv in 2014.||80||israel.jpg|
|Kenya||Jason and Lauren went on safari in Kenya after Lauren spent 4 weeks working in Nairobi as part of the IBM Corporate Service Corps.||120||kenya.jpg|
If you would like to visualize the orders in a graph, you can do so by deploying the app and then doing the following:
def gt = graph.traversal();gt.V().has("type", "user").outE("buys").inV().has("type","print").path();
The following video will walk you through the steps above, so you can visualize the orders.
One of the biggest strengths of using a graph database is the ability to quickly generate recommendations for your users. This app generates three recommendations for its users on the home page. The recommendation engine used in this app is based on the Apache TinkerPop recipe for recommendations.
The app generates personalized recommendations for a user who is authenticated by looking for other users who have bought the same prints and seeing what they have purchased. Below is a detailed flow of the personalized recommendations:
If less than three recommendations are generated (for example, if the user is not authenticated or if the user loves the site and has purchased all of the prints), the app searches for the most purchased prints and presents them in the remaining recommendation spots.
Take a look at getRecommendedPrints() in graph.py to see the associated code.
The following video will walk you through the theory and code behind the recommendation engine.