Architecture overview
Now that we have an idea as to what we are going to build, let's look at the architecture of this application. The following is the high-level design of the application:
We are going to use MongoDB as our database, Node.js as our server-side layer and Angular 5 as our application layer. We are going to use a Node.js Google Cloud SDK module to interface our application with the Google Cloud Platform. For the MongoDB instance, we are going to use the mLab (https://mlab.com/) service and connect that to our application. We are going to set up mLab as part of this chapter.
On the server side, we are using Node.js (https://nodejs.org) as the runtime environment. We are going to use Express (https://expressjs.com) as our server side MVC framework. Using Mongoose, we are going to interface with MongoDB.
On the client side, we are going to Angular [5.x] (https://angular.io/) as our application layer. Since we would be working with various Cloud AI services from Google Cloud Platform, we are going to use Google Cloud SDK npm module depending on the service we are interfacing with. Once we build the application, we are going to deploy it to Heroku (https://www.heroku.com/).