4 Building and securing a web application the serverless way

 

This chapter covers

  • Creating a serverless to-do list
  • Using DynamoDB, a serverless database
  • Implementing login the serverless way

In this chapter we will build upon the lessons of chapters 2 and 3 to build our second, more capable serverless AI system. Most programming texts use the canonical to-do list application as a teaching example. This book is no different in that regard. However, this is certainly not your grandparents' to-do list: this is the to-do list on steroids! The to-do list application that we will build in this chapter will start out simple enough as a familiar CRUD (Create, Read, Update, Delete ) type application utilizing a cloud native database. After securing the application with a login and logout screen, we will add natural language speech interfaces to record and transcribe text, and to have the system tell us our daily schedule from our to-do list. Finally, we will add a conversational interface to the system, allowing us to interact entirely through natural speech and not the keyboard.

In this chapter we will build the serverless to-do list. We will add the AI features in chapter 5, and as we will see, these can be built very rapidly by harnessing cloud AI services to do the heavy lifting.

4.1 The to-do list

4.2 Architecture

4.2.1 Web application

4.2.2 Synchronous services

4.2.3 Asynchronous services

4.2.4 Communication fabric

4.2.5 Utility services

4.2.6 AI services

4.2.7 Data services

4.2.8 Development support and operational support

4.3 Getting ready

4.3.1 Getting the code

4.4 Step 1: The basic application

4.4.1 Resources

4.4.2 To-do service

4.4.3 Front end

4.5.2 User service