Upskills Community
Upskills
upskills.dev
Join our community on Discord to get help about the tutorials and ask your questions.
@upskillsdev
Checkout our GitHub to find the source code and submit any issues or feature requests.
This comprehensive tutorial guides you through creating a modern, interactive flight booking page using React and HeroUI. You'll learn how to build reusable components for displaying flight information, implementing advanced filtering and sorting functionalities, and creating a responsive user interface. By the end of this tutorial, you'll have a fully functional flight booking page that showcases best practices in React development and UI/UX design.
Prerequisites
Tutorial Content
9 sections • approximately 2 hours
Before we dive into coding, let's get your project set up.
Prerequisites: Ensure you have Node.js, yarn (or npm) and git installed on your machine.
Clone our starter repo — a minimal React + HeroUI project with everything pre-configured so you can jump straight into building:
git clone https://github.com/upskillsdev/starter-app.git
cd starter-app && yarn install
yarn dev
You should see a startup screen at http://localhost:5173/ in your browser.
Now head over to src/pages/index.tsx and start building the search flight page by following the sections below.
How the starter project structure will look like:
├── public ├── src # Core source code of the application │ ├── components # Reusable UI elements │ ├── config # Configuration files of the application │ ├── hooks # Custom React hooks for shared logic │ ├── layouts # Page layouts or templates │ ├── pages # Individual pages of the application │ ├── styles # Global or component-specific styles │ ├── types # TypeScript type definitions │ ├── App.tsx # Root component of the application │ ├── main.tsx # Entry point of the application │ ├── provider.tsx # HeroUI Provider component │ ├── vite-env.d.ts # TypeScript declarations for Vite env variables ├── ...other files
Share this tutorial
About the author
NAB, Software Engineer
Hi, I'm Vu, a Software Engineer at NAB (National Australia Bank) with a love for creating web and mobile apps that don't just look cool but feel great to use. I've had the chance to work with some awesome companies over the years, picking up new tricks and tackling many kinds of challenges along the way.
Now, I'm thrilled to share what I've learned and help others through fun, interactive coding tutorials!