
Master flutter and dart by building user interface with stateful and stateless widgets, lists, maps, and json, while learning routing, installation, and navigation to home, search, tickets, and profile screens.
Install essential development tools for Flutter beginners— VSCode, Flutter SDK, and Android Studio with command line tools— and create your first project in VSCode, guided step by step.
Install VS Code, download the Flutter SDK archive, and install Android Studio to start your Flutter setup.
Install VS Code by clicking through the installer, enabling the desktop icon, and launching VS Code to reveal the interface; in the next section, install the Flutter SDK.
Install the Flutter SDK by extracting the zip and setting the PATH. Run flutter doctor, install Android Studio and SDK tools, and accept licenses to prepare the toolchain.
Learn how to set up Flutter and Dart extensions in VS Code on Windows, create a Flutter project, configure an Android emulator, and run your first app in VS Code.
Introduce the section by guiding you to create a Flutter project with Android Studio or VS Code, understand the project structure, set up a git repo, and clean Main.dart.
Learn to create a new Flutter project in Android Studio, set the Flutter SDK path, name it using snake_case like ticket_app, and understand focusing on Android and iOS mobile apps.
Navigate the Flutter project structure with lib as the code core and main.dart as the entry point. Explore platform folders, build behavior, and key files such as androidmanifest.xml and pubspec.yaml.
initialize a git repo for your flutter project, stage and commit changes, and connect a remote origin to track updates and visualize changes in android studio.
Learn how to remove comments from main.dart efficiently by using a replace all trick to strip // comments, then reformat the code with the dart formatter.
Explore main function as the entry point, cover class and inheritance, abstract class and constructor, differentiate stateful class and widget, and review metro app and scaffold as app backbone.
Explore how the dart main function acts as the entry point and how flutter uses it to run apps, emphasizing reactive UI and basic concepts.
Learn how Dart uses a main entry point, create and instantiate classes, and apply inheritance with extends, including overriding methods in Flutter's stateless widgets.
Understand how abstract classes act as blueprints for child classes and why constructors initialize values, enabling inheritance and concrete classes in dart.
Explore how a stateful class manages ui state in Flutter using a floating action button, row layouts, and main axis alignment to update the interface with hot reload.
Learn to structure a Flutter app with MaterialApp as the root and Scaffold for the screen, including a centered text in the body and a colored app bar.
Create a bottom navigation bar in Flutter by scaffolding with bottom_nav_bar.dart, building a stateful widget, importing libraries, and replacing the scaffold to add a four-icon bottom bar.
Explore how to configure a bottom navigation bar in Flutter by building a list of BottomNavigationBarItem with icons and labels, and handling required arguments, types, and hot reloads.
Style the bottom navigation bar by configuring selected and unselected item colors, show or hide labels, and apply color constants, then hot reload to preview the changes.
Install and configure fluent ui icons for a Flutter bottom navigation bar, updating pubspec.yaml and using fluent system icons for active (filled) and inactive states.
Learn to build dynamic bottom navigation by storing screens in a list, using an index to switch the body and icons, and wiring taps to update the selected screen.
Define a private onTap handler to update the selectedIndex from bottom navigation bar taps, and wire it to the onTap callback to reflect icon changes via hot reload.
Use setState to manage state and update the bottom navigation bar dynamically by handling onTap, updating the currentIndex, and reflecting changes in the UI.
Explore building a complex home screen module in Flutter using containers and a single child scroll view, with nested widgets that support horizontal movement and showcase artwork and design.
Create a home screen module by adding lib/screens/home_screen.dart with a stateful widget, and bind it to the app screen list for layout work in the next lecture.
Learn how the container widget enables styling and decoration in Flutter, differentiate between list and list view, and build a scrollable home screen using scaffold.
Explore how to compose Flutter layouts with nested widgets such as container, column, list view, and text, and learn to create scrollable, styled sections with background colors.
Explore vertical and horizontal layout design in Flutter by using column and row widgets, learn how they stack or align content, and how nesting enables complex layouts.
Learn to define widgets with layout using column and row widgets, nesting containers and spaces to build vertical UI sections in Flutter apps, and understand when to use them.
Finish the header layout by composing a column with two rows, using text and container widgets, and applying main axis alignment with space between to separate header elements.
Learn to style text in flutter by wrapping widgets in a container with padding, controlling cross and main axis alignment, and applying text styles for size, weight, and color.
Create a separate style class to centralize colors and text styles in a Flutter app, using a dedicated app styles file and static members for consistency.
Learn to style a Flutter container for images by applying borders, border radius, and box decoration, and place an image widget inside a container with proper asset setup.
unzip the assets folder from resources, place assets/images in the project root, declare them in pubspec.yaml with proper indentation, and use asset image as the image provider for logo.png.
Centralize image paths by creating a media class in Dart with static const fields like base image and logo, enabling single-point updates when assets move.
Create a search box layout in Flutter by composing a row with an icon, container decoration, padding, and color styling, and learn how to hot reload changes.
Adjust the background color and remove the app bar to achieve a clean interface. Add spacing with a sized box, apply bold typography, and verify changes with hot reload.
Create a reusable widget in Flutter by defining a stateless base class, passing text parameters, using a row layout with Inkwell tap, and applying copyWith to share styles.
Learn how the copyWith method in Dart creates new object instances with optional named parameters, preserving old values when not overridden, with practical examples.
Explore the ticket view layout by building a container that holds a column with two rows and different items, illustrating how the grid and column-row structure organize content.
Create a global ticket view widget by building ticket_view.dart as a stateless class, using a sized box at 85% of screen width with a fixed height and right margin.
Style a Flutter ticket view by applying box decoration, defining ticket blue colors, and using top left and top right radii to create a precise left and right border.
Build a Flutter ticket view by placing a column with rows inside a container, styling NYC text in white with padding, and use Expanded or space between to adjust spacing.
Create a global big dot widget for ticket views in Flutter by building a stateless BigDot class with a boxed border, padding, and configurable color to match the UI.
Use the expanded widget in a row to proportionally allocate space among children; the count is children minus one, with dots and an aeroplane icon adjusting to space.
Discover how to use the stack widget to overlap widgets in Flutter, replacing containers with a children-based layout, and learn to dynamically calculate space between stacked elements.
Explore dynamically generating widgets in Flutter using LayoutBuilder to measure space, List.generate to create items, and Flex to space them with SizedBox or Container.
Create an app layout builder widget by wiring a LayoutBuilder with a horizontal Flex row of decorated boxes, driven by a random divider and constraints to demonstrate space between widgets.
Explore the relationship between degrees and radians, showing how 90 degrees equals 1.57 radians and how rotation angles govern vertical and horizontal, including why 1.5 radians differs from 1.5 degrees.
Learn to build a ticket layout in Flutter by showing departure and destination with icons and time, then adjust spacing using sized box and const modifiers.
Refactor a Flutter layout by wrapping code in a container and a column to reveal the bottom part of the ticket, and adjust orange and blue colors for positioning.
Learn to build a reusable big circle dot widget in Flutter for a ticket end, using box decoration, border radius, and a left-right flag with a ternary.
Explore how the Dart ternary operator uses the ? : syntax for concise conditional expressions, with examples that print results and return widgets in Flutter.
Learn to build a ticket dash using Flutter's App Layout Builder, controlling the space between dots and circles with a configurable width, default value three, and optional parameters.
Learn to customize the orange text in a Flutter ticket view by editing day, date, and departure time across three containers, while addressing layout and text size across screen resolutions.
Create a headline four style at size 14 in the ep styles file, then use fixed widths via sized box and end alignment to center the first row text.
Learn to refactor Flutter code by creating a reusable text style widget, using named parameters to pass text dynamically, and enhancing readability and maintainability in the first row ticket.
Create reusable widgets for bottom row tickets using Flutter. Learn to design dynamic, well-aligned layouts with cross axis and main axis alignment, and extract common UI patterns into reusable components.
learn how to structure data in dart by using a list of maps for a ticket app, including keys like flight time, date, departure time, and dynamic values.
Colorize Android Studio by installing material icons, rainbow brackets, and rainbow variables plugins, enabling colored icons and code colors for folders, brackets, and variables.
This app covers Flutter for very beginners to advanced learners. In this tutorial step by step we will build a beautiful UI and learn the very core of Dart and Flutter. At the beginning of the course we have given most necessary basic of dart to build an app. This course 3-5 minutes in each lecture so that students can follow us easily.
Not only that, we have used a lot of pictures and graphics to make the understanding of Flutter easy.
We start from very simple ui like drawing text to complex layout using stack and mixture of column and row widget.
We also built reusable widget to reduce code amount. So at the end of this tutorial you learn how to build simple to complex reusable flutter widgets.
Along with you will master core Dart concept
1. Class
2. Inheritance
3. List
4. Map
5. Method overriding
Along the way, we explained what's a stateful class and difference between a stateful class and stateless class. We also explained what's a bottom navigation bar and how to set up screens for bottom navigation bar. Bottom navigation bar mainly involves jumping to different screens and complex layout.
Homepage UI
Homepage UI includes greetings layout, ticket layout, colorful tickets, hotel view with images.
Ticket search
Ticket search UI includes searching tickets UI with upcoming flights.
Ticket UI
Ticket UI involves showing ticket information with bar code. This is beautiful.
Book Ticket
This UI includes information about a certain flight.
Later on, we explained how to work with different colors and separate color in a static file.
The widgets we built in this tutorial
1. reusable style component
2. reusable color pallet
3. reusable column widget
4. reusable layout builder widget
5. reusable column widget
6. reusable row widget
7. reusable ticket widget
After finishing this course, you will have much better understanding how flutter works and you will master app layout building.
At the same time we have covered, state management packages. We have covered Getx, Riverpod and most popular BLoC state management. Thus you learn about all the favourite state management and see the comparison among them.