
Explore Next.js and TypeScript with Shopify integration in a full guide. This short introduction frames the course scope and the key concepts for development.
Explore the varicella commerce open source project powering this course on Next.js and TypeScript, with official Shopify support, opportunities to contribute, and guidance to master the codebase and structure.
Explore function parameters in TypeScript by building a simple personal info function that logs name and age, using string interpolation and explicit string and number types.
Explore optional parameters in TypeScript by using question marks and defaults, enabling calls with a name only and age defaulting to zero in objects and functions.
Extend interfaces to create specialized person types by adding salary for business person and publications for academic person, while inheriting name and age from the base interface.
Explore union types in TypeScript, see how race car and city car share only common properties like name, and learn narrowing and extraction techniques to work with specific car types.
Explore how the never type enforces exhaustive checks in a union of car types—race car, city car, and SUV car—and propagates changes across the codebase with max speed constraints.
Explore generic object types in TypeScript, learning how to constrain objects by key and value types, use unions, and safely pass object literals to functions.
Learn how to constrain generics with extends in TypeScript, using a Laguerre class and a Person interface to ensure implemented classes provide required properties.
Explore using a generic single type with the ternary operator to derive the single element type from array types of string, number, or a person interface in TypeScript.
Learn to infer the return type of a promise in TypeScript and apply it to function arguments, using async/await and precise props typing for reliable data handling.
Create a reusable, framework-based get all products module for Shopify that returns a hard-coded product list, with export default and an asynchronous, typed promise for future data fetching.
Implement a fetch api function in a Next.js and TypeScript context to request product data from a placeholder endpoint, parse the json response, and return the data for rendering.
Learn to fetch all Shopify products with a GraphQL query in a Next.js and TypeScript app, building a reusable getAllProducts utility to expose product edges, node data, and images.
Move the fetch API to a dedicated utils module and import it in the products fetch flow. Implement robust error handling with fallbacks using ?? and the || operator.
Develop a normalize product images function that converts a Shopify image connection into a normalized image array, mapping edges to image objects with url, alt text, and height.
Learn to simplify imports by creating index files in the utils folder to re-export modules like fetch API, get all products, and normalize product, using default and named exports.
What is Next.js?
Next.js is a React-based framework that provides infrastructure and simple development experience for server-side rendered(SSR) & static page applications.
An intuitive page-based routing system (with support for dynamic routes)
Pre-rendering, both static generation (SSG) and server-side rendering (SSR) are supported on a per-page basis
What is Typescript?
TypeScript is an open-source language which builds on JavaScript, one of the world’s most used tools, by adding static type definitions.
Is this course right for you?
If you plan to start your career as a developer or improve your programming skills, this course is right for you. Learn how to build a professional web application inspired by the project of Next JS developers.
Start with learning the Typescript language and progress into building your own e-commerce application.
This resource is the only thing you need to start Web Development with Next.js. During this course, you will get the confidence and skills required to start your own projects. In addition, you will get the right mindset to apply for a developer career and improve in modern frameworks like Next.js and React.js.
What are you going to work on?
You will build an e-commerce application from scratch. You will learn how to write code in Typescript language, a superset of Javascript providing additional features, and a static type checker.
The course starts with an explanation and practical examples of the Typescript language. The typescript section is optional but it explains a lot of types of structures that will be used throughout the course.
After typescript lectures, you will start building your e-commerce app. You will learn how to structure the application in a modular and clean way.
You will build your own React components from the scratch. As the styling framework, the course is utilizing PostCSS and Tailwind CSS which is a great choice for every project.
Later in the course, you will learn the latest patterns on how to use hook functions efficiently. Entire checkout functionality is built on top of the hook functions. Hooks are reactive, modular, and easy to get tested.
At the end of the course, we will hook up the application with Shopify, and we will deploy it to the Vercel platform so anyone on the internet can access it.