Interactive Tutorials

Build a User Profile Page with React, Tailwind and HeroUI

avatar
Vu NguyenSoftware Engineer, NAB

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.

1

Setup and initialize a new React project

2

Building the FeaturePhotos component

3

Designing the Profile Information Section

4

Creating the Profile Stats Section

5

Implementing the Profile Post Timeline

6

Implementing the Profile Photo Timeline

7

Implementing the Profile Timeline Tabs

8

Putting it All Together

Live Preview
Loading preview...
View Tutorial

Build a Flight Booking UI with React, Tailwind and HeroUI

avatar
Vu NguyenSoftware Engineer, NAB

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.

1

Setup and initialize a new React project

2

Building Flight Header Component

3

Building Flight Card Component

4

Building Flight List Component

5

Building Flight Filter Form Component

6

Building Flight Filter Drawer Component

7

Building Flight Sort Menu Component

8

Building Flight Preferences Component

9

Putting It All together

Live Preview
Loading preview...
View Tutorial

Understading Typescript Generics

avatar
Vu NguyenSoftware Engineer, NAB

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.

1

What are generics in TypeScript?

2

Making Your Code Flexible with Generics

3

Generic Parameter Defaults

4

Generic Constraints

5

Conditional types with generics

6

Closing thoughts

class MyStorage<T> {
private items: T[] = [];
addItem(item: T): void {
this.items.push(item);
}
getAllItems(): T[] {
return this.items;
}
}
// Usage
const stringStorage = new MyStorage<string>();
stringStorage.addItem("Hello");
stringStorage.addItem("World");
const numberStorage = new MyStorage<number>();
numberStorage.addItem(42);
numberStorage.addItem(100);
View Tutorial
avatar

Follow Upskills.dev

Stay updated with our latest tutorials and coding tips.

We respect your privacy. Unsubscribe at any time.