Welcome to the Flutter Bootcamp - FA25! This repository is designed to help you master Flutter from the ground up. Whether youβre a beginner or an experienced developer looking to deepen your Flutter knowledge, this Bootcamp will guide you through building high-performance, scalable mobile applications.
This Bootcamp covers Flutterβs essential and advanced concepts, UI/UX best practices, state management techniques, backend integration, and performance optimization. By the end of this course, youβll be equipped with the skills to develop professional Flutter applications for Android and iOS.
- Bloomβs Taxonomy Framework (Higher Order)
- Progressive Curriculum Development (John Dewey)
- Outcome-Based Education (OBE)
- Project-based Learning (PBL)
- Experiential Learning (Kolb Cycle)
- Demonstration Method
- Blended Learning
- Technology-based Learning (eLearning)
All course-related files are organized in a shared Google Drive folder.
π Course Folder: Access Here
π Dart Programming Fundamentals: Access Here
- Setting up Flutter and Dart SDK
- Installing Android Studio
- Installing essential Android Studio SDK components
- Setting up an Emulator (Virtual Device)
- Enabling Developer Options for real device testing
- Verifying the setup using the
flutter doctorcommand - Understanding Flutter Architecture
- Exploring Widgets and the Widget Tree
- Git and GitHub basic understanding
- Introduction to Scaffold widget
- Using SafeArea
- Exploring Container widget (height, width, margin, padding, color)
- Implementing Row widget for horizontal layout
- Implementing Column widget for verticle layout
- Implementing ListView widget for responsive layout
- Implementing GridView widget for responsive layout
- Adding spacing with SizedBox
- Basic Material Dashboard Design
- Adding and styling Text widgets
- Using Icons in Flutter
- Using AssetImage in Flutter
- Implementing AppBar
- Understanding and modifying pubspec.yaml
- Adding custom fonts in a Flutter app
- Center Widgets in Flutter
- Card Widget in Flutter
- Adding Fonts in Flutter
- Using TextField for user input
- Applying InputDecoration (hints, labels, borders, icons)
- Exploring different types of Buttons (ElevatedButton, TextButton, OutlinedButton)
- Handling basic user interactions with onPressed callbacks
- Handling button events with onPressed
- Adding and displaying images in a Flutter app (dice faces: 1.png β 6.png)
- Using Expanded and Row for layout
- Implementing random number generation with
dart:math - Creating a very basic Dice Game with two dice that change on button press
- Introduction to Navigator.push() and Navigator.pop()
- Building multiple screens in a Flutter app
- Passing data between screens
- Example project: Simple Multi-Screen App (e.g., Home β Details β Back)
- Passing Data Between Screens
- Introduction to Flutter plugins for device functionalities
- Using
url_launcherto open apps directly from Flutter - Open Dialer β Launch phone dialer with a number
- Open Map β Show a location in Google Maps
- Send Message β Open SMS app with pre-filled text
- Send Email β Open email app with subject & body
- Web View App β Display websites inside the app
- Open Google β Launch Google in browser
- Open Camera β Capture photo using device camera
- Image Picker β Pick image from gallery or camera
-
Understanding Stateless Widgets
- Widgets that do not change during runtime
- Example project: Static Profile Card (Name, Image, Description)
-
Understanding Stateful Widgets
- Widgets that can change dynamically with
setState() - Example project: Counter App (Increment/Decrement buttons)
- Widgets that can change dynamically with
-
Splash Screen
- Displaying a logo and progress indicator
- Auto navigation after a delay
- Example project: App Splash β Home Screen
- Toggle Switch App β Turn dark/light mode on and off
- Like Button App β Tap a heart icon to toggle between liked/unliked
- TextField Input Demo β Enter name and display it on screen
- Introduction to Alert Dialogs, Toasts, Pop-ups, and App Customization in Flutter
- Creating a Basic Alert Dialog with title, message, and actions
- Designing a Custom Alert Dialog using widgets
- Implementing a Bottom Alert Dialog for modern UI effects
- Using the
fluttertoastpackage to display basic toast messages - Implementing Motion Toasts for animated notifications
- Displaying information using Bottom Sheets
- Implementing Modal and Persistent bottom sheets for user interaction
- Checking internet status programmatically
- Showing an alert or bottom dialog when thereβs no internet connection
- Changing the App Icon using the
flutter_launcher_iconspackage and using manual method - Updating the App Name in:
AndroidManifest.xml(for Android)Info.plist(for iOS)
- Introduction to SharedPreferences
- Maintaining App Sessions with SharedPreferences
- Introduction to SQFLite
- Creating an Expense Tracker App with expnese title, amount, and date
- CRUD Operations
- Fully Explained Code with Comments
- Creating a Sticky Note App with note title, note details, and note date
- CRUD Operations
- Editable Appbar and Random Colors for notes.
Sticky Notes App Demo
Contributions to this repository are highly encouraged!
- Submit issues & suggestions
- Fork & improve the course content
- Add new features & code samples
- Join discussions & help fellow learners
Stay tuned for regular updates, new projects, and learning challenges. Follow the repository and start your Flutter journey today!
π§ For any queries, feel free to contact us at jamil138.amin@gmail.com.
