Learning Outcomes
The learning outcomes for this week are a slightly more broad than the previous weeks. You'll be learning the basics of Hapi, but you'll also be bringing lots of technologies that you've learnt together with a goal to structure your project in a more modular fashion.
Core Learning Outcomes
- Set up a Hapi Server (get it listening on a
portof your choice) - Set up some routes using
server.route([....]) - Get data out of the
requestparams and payload - Set up a route with a dynamic url (i.e. one route that can handle a number of different requests)
- Register Plugins using the
server.register([....], cb)method - Serve static files (like css or js files) using the
Inertplugin - Serve html templates using
Handlebarsand Hapi'sVisionplugin - Validate a user's input using the
Joiplugin - Set up a basic user login with the
Hapi Auth Basicplugin - Test all of these using
tape(Hapi hasshotbuilt in so it's super nice to test!) - Set up
SASSto modularise your css using@import
If you can do all of these, congratulations!!
Bonus Learning Outcomes
- Understand and use Handlebars partials, layouts and helpers
- Organise a 'feature' of your app into a Hapi plugin
- Understand and use SASS variables, mixins and nesting
- Use SASS control directives (like
@for,@ifand@each) to set up a group of css selectors