Build a User Profile Page with React, Tailwind and HeroUI
This tutorial shows you how to build a modern user profile page with React and HeroUI. You'll create reusable components to show user info, add a photo carousel, and display posts and photos—while learning key React and UI design skills.
Setup and initialize a new React project
Building the FeaturePhotos component
Designing the Profile Information Section
Creating the Profile Stats Section
Implementing the Profile Post Timeline
Implementing the Profile Photo Timeline
Implementing the Profile Timeline Tabs
Putting it All Together
Build a Flight Booking UI with React, Tailwind and HeroUI
This tutorial walks you through building a clean, user-friendly flight booking page using React and HeroUI. You'll create reusable components, add filters and sorting, and learn the basics of React and UI design along the way.
Setup and initialize a new React project
Building Flight Header Component
Building Flight Card Component
Building Flight List Component
Building Flight Filter Form Component
Building Flight Filter Drawer Component
Building Flight Sort Menu Component
Building Flight Preferences Component
Putting It All together
Understading Typescript Generics
Generics are a fundamental feature in statically-typed languages like TypeScript. They allow you to define components, functions, or data structures that work with a variety of types while maintaining type safety. This improves flexibility, reusability, and helps remove repetitive code.
What are generics in TypeScript?
Making Your Code Flexible with Generics
Generic Parameter Defaults
Generic Constraints
Conditional types with generics
Closing thoughts
class MyStorage<T> {private items: T[] = [];addItem(item: T): void {this.items.push(item);}getAllItems(): T[] {return this.items;}}// Usageconst stringStorage = new MyStorage<string>();stringStorage.addItem("Hello");stringStorage.addItem("World");const numberStorage = new MyStorage<number>();numberStorage.addItem(42);numberStorage.addItem(100);