In the second part of the course
we'll build a more complex application,
that uses both "Static" pages
and "Server Side Rendering", abbreviated as "SSR".
So in that sense it's a "Hybdrid" application.
What we're going to build is a Shop website,
where we sell indoor plants.
We'll display a grid of products
with their images.
If the user selects a product
we'll show a details page for that item.
Then we'll also implement authentication,
so the user can "Sign In".
This way we can keep a Shopping Cart for each user,
so when they view a product
they'll be able to add it to their cart,
and we'll show a summary
with their potential order details.
So there's a fair amount of functionality
we're going to build into this application.
And this will be an opportunity
to learn more advanced Next.js features,
but also some other tools and libraries.
We'll start by setting up a new project,
this time using "Create Next App".
Then we'll add "Tailwind"
that's a CSS framework we'll use for styling.
We'll use a "Headless CMS" called Strapi,
as our backend API where we store all the data.
We'll see how to fetch data from that API
in our Next.js app,
and there quite a few different ways to do that.
We'll cover "Incremental Static Regeneration",
that is a Next.js feature that allows us
to generate static pages
but also keep them up to date automatically.
We'll write some API routes,
which is another Next.js feature that
lets us create an API inside our app.
We'll see how to do "Responsive Design"
using Tailwind CSS.
We'll implement authentication,
using JSON Web Tokens and cookies.
And we'll also use React Query,
that is a library for fetching and caching data
on the client side.
So lots of stuff to learn. Let's dive into it!