Static site generation is one of the core principals of the Jamstack. There are situations, however, when a site needs to handle user-generated/created content (UGC/UCC). In this case, we need to think about how to generate static websites based on dynamic content.

During the course, we'll build a simple application - but let not this deter you, the app is kept simple to provide valuable teaching points.

In the first section of the course, you will learn how to work with 11ty (Eleventy), a JavaScript-based static site generator to build HTML pages at build-time based on templates (Nunjucks).

The following section focusses on the API aspect of the Jamstack - "there's an API for that". You will learn how to manage images via Cloudinary as well as how to add a fully functional, customisable upload widget to your application with only a few lines of code. Furthermore, we'll take a look at Fauna as well - a serverless database which will allow us to utilise persistent data in a world which does not leverage origin servers.



The final section is going to discuss some architectural decisions while discussing Netlify Functions (serverless functions) as well as giving you a chance to learn how to generate a static site using Netlify build hooks programmatically. The entire application is going to be resilient - it will display user-generated content either by making a direct call to Fauna or displaying a pre-generated site which will be created during a build process - programmatically.



By completing this course, you will become familiar with essential concepts regarding the Jamstack in the areas of generating static sites based on dynamic data which you will be able to apply to any future project.

