Course info
Jun 16, 2015
2h 30m

hapi is an enterprise-ready web application framework built on Node. This course introduces you to hapi and walks you through developing a complete web application. Complex routing and server-side templating are covered. hapi's plugin architecture is given an overview with demonstrations of joi (object validation), boom (HTTP-friendly error objects), and good (process monitor and logger). Advanced topics also include authentication, file uploads, and sending emails.

About the author
About the author

Ryan Lewis is a Software Engineer who specializes in ambitious single page web applications. He teaches Java and JavaScript to aspiring web developers and technology professionals. In his free time, Ryan enjoys spending time with his family, playing video games, and releasing underground Japanese music on his record label, MeatCube.

More from the author
AWS Developer: Deployment and Security
2h 32m
Mar 6, 2018
AWS Developer: Designing and Developing
4h 20m
Oct 25, 2017
More courses by Ryan Lewis
Section Introduction Transcripts
Section Introduction Transcripts

Introduction to hapi
Hi! My name is Ryan Lewis, and welcome to Building Web Applications with hapi. Today, I'll be teaching you about hapi, a web application framework that runs on node. js. It favors configuration over code so that you can spend more time on building the business logic of your application. This course will guide you through everything you need to know to get started. We'll be building a hapi web application completely from scratch. No prior experience with Node or hapi is required although experience with JavaScript will help comprehension. In this module, I'll start by explaining the role of a web application. Since we'll be working with a web application framework, I want to make sure we have a common definition of what a web application is and how working with a framework can accelerate your development. Then we'll talk about how hapi helps you build a web application and why hapi might be the right choice for your web project. Finally, we'll get our hands dirty with some code as we write a Hello World application with hapi.

Hello, and welcome back to Building Web Applications with Hapi. My name is Ryan Lewis, and in this module, we're going to dive headfirst into routing with hapi. We'll take a quick look at the requirements for the web application we will be building to demonstrate hapi's features. Then I'll give you an overview of the server object. We saw that in the last module when we created our Hello World application. Our goal in this module is to understand and get experience with setting up routes in hapi, so we'll learn about the request object and the reply interface. Finally, we'll start putting these concepts to use as we start building out routes for our demo application.

Templating & Plugins
Hi! My name is Ryan Lewis, and welcome back to Building Web Applications with Hapi. This module is focused on templating and plugins. We'll start by plugging in our view rendering engine into hapi. Then we'll start templatizing many of the HTML files we used in the last module. Next, we'll install Joi and perform some validation on our post requests. Another plugin we'll install is Boom, which we'll use to set up error handling in our application. And, finally, we'll install Good, which will configure logging throughout our application. There's a lot to cover in this module, so let's get started.

Advanced Topics
Hello! My name is Ryan Lewis, and welcome back to Building Web Applications with Hapi. In this module, we'll be covering several advanced topics that will close out our demo application development and round out your knowledge of hapi. By the end of this module, you should feel ready to take on your own hapi project with confidence. To understand what we'll be learning in this module, let's take a look at our demo application requirements again. We've completed the first two requirements in the previous two modules. In this module, we'll complete the last three requirements--uploading images, emailing cards, and authentication. We'll start the module by looking at a better structure for our application. Our server. js file is getting a little large, so we'll find a better way to store all this code. Then we'll set up authentication in our application so users can see only their own cards. Once the user accounts are complete, we'll implement file uploads into our project so users can send their own images in the cards. Finally, we'll integrate with Mandrill so that users can send Hapi Greetings emails to all their friends.