Course Summary

Let's summarize what we learned in this course.

We'll cover the following

Overview

We started this course with an introduction to Jamstack. We briefly looked at the components of Jamstack: JavaScript, APIs, and markup.

The concept of Jamstack was inspired by early web applications, where the service was faster and required the content to pass through fewer layers.

We also then discussed the concept of a headless CMS. It decouples the presentation layer and provides a back-end content management system that can be used with any frontend. This way, the delivery of the content can be more versatile.

Next.js

After Jamstack, we moved on to Next.js, the front-end technology that we used in this course. We began with the basics of Next.js, which included routing, dynamic routing, and how to manage assets and metadata.

We then moved on to the core part, which was creating static applications with Next.js. We learned about the getStaticPaths and getStaticProps methods that Next.js uses. These functions allow us to pre-render web pages during build time and have them saved on a CDN for faster content delivery.

We also learned about server-side rendering, where a page can be rendered by request on the server instead of the client in order to reduce the load on the browsers.

Finally, we learned about the deployment of a static application on Netlify.

Strapi CMS

During the last part of this course, we learned about Strapi CMS and how to integrate the backend of our application with the frontend. Strapi is a Node.js headless CMS that allows us to easily create backends for applications.

We learned about making content-types in Strapi with the Content-type Builder and how to manage the content using the Content Manager. We also learned about creating and managing relational fields in Strapi.

We then saw some very useful out-of-the-box functionalities provided by Strapi, such as the Strapi APIs and how to manage permissions of the API endpoints. We used these APIs in a Next.js frontend to make a fully functional full-stack application that allows for user authentication, shows numerous recipes to users, and allows them to favorite recipes.

Finally, at the end of this course, we worked on a project that gave us hands-on experience in making Jamstack applications with Next.js and Strapi.