Introduction
Next.js: A React framework by developers, for developers
()
What you should know
()
Exercise files
()
1. Getting Started and Discovering Next.js
What is Next.js?
()
The benefits of using Next.js
()
Setting up the development environment
()
Creating the Blog project and exploring the app anatomy
()
2. Building Your Application with App Router
Creating pages and layouts
()
Creating a shared layout between pages
()
Navigating between pages
()
Challenge: Add a route
()
Solution: Add a route
()
Create a dynamic route
()
3. Styling Your Application: CSS and Custom Fonts
Adding global styles
()
Using Tailwind CSS
()
Using CSS modules for components
()
Apply conditional styling with clsx
()
Challenge: Optimizing images and fonts
()
Solution: Optimizing images and fonts
()
4. Deploy and Connect to a Data Source
Create a GitHub repository and push the project
()
Creating a Vercel account
()
Connect and deploy your project
()
Challenge: Write and push changes then redeploy
()
Solution: Write and push changes then redeploy
()
Setting up a PostgreSQL database
()
5. Fetching Data
Discovering the different ways of fetching data
()
Seed the database and execute SQL queries
()
Use SQL queries to fetch data
()
Challenge: Insert data to the database
()
Solution: Insert data to the database
()
6. Handling Errors, Pre-rendering, Caching, and Optimizing
Static rendering vs. dynamic rendering
()
Dynamic rendering without caching
()
Enable streaming and partial rendering with a loading page
()
Adding loading skeletons
()
Handling errors with an error page: error.tsx
()
Challenge: Handling 404 errors with notFound functions
()
Solution: Handling 404 errors with notFound functions
()
7. Adding Authentication
Getting started with NextAuth.js
()
Setting up NextAuth.js
()
Creating the auth routes and components
()
Adding the Google credentials provider
()
Sign in with your Gmail account
()
Challenge: Authenticate and create posts
()
Solution: Authenticate and create posts
()
Protecting pages and API routes
()
8. Generative AI: Build a Chatbot with OpenAI
Set up and configure a project
()
Define requests to generate completion with the ChatCompletion API
()
Writing blog posts with AI-generated content
()