• Setting up a Flutter Project
• Introduction to Flutter and its ecosystem
• Setting up Flutter in Visual Studio Code
• Basic Dart programming concepts
• Hands-on Activity: Create a simple "Hello World" app
Class 2: Understanding Widgets
• Flutter widget tree and rendering
• Stateless vs. Stateful widgets
• Hands-on Activity: Build a basic UI with various widgets (Text, Container, Column, Row)
Week 2:
State Management and Forms
Class 1: Stateful and Stateless Widgets
• Managing state with setState()
• Lifecycle methods of Stateful widgets
• Hands-on Activity: Create a counter app
Class 2: Forms and Input Handling
• Creating forms for login and signup
• Form validation techniques
• Hands-on Activity: Build a login form with validation
Week 3:
UI Components and Themes
Class 1: Basic Widgets
• MaterialApp, Scaffold, AppBar, and FloatingActionButton
• Using Text, Center, and Padding widgets effectively
• Hands-on Activity: Design a simple app layout
Class 2: Customizing UI with Themes
• Applying and customizing ThemeData
• Using custom fonts and styling
• Hands-on Activity: Implement a themed app
Week 4:
Asynchronous Programming and Networking
Class 1: Asynchronous Programming
• Understanding async and await
• Working with Future and Stream
• Hands-on Activity: Fetch data asynchronously
Class 2: Networking with APIs
• Using the http package
• Parsing JSON data and creating model classes
• Hands-on Activity: Fetch and display data from a public API
Week 5:
Advanced Widgets and Navigation
Class 1: Advanced Widgets
• Container, Card, ListView, GridView
• Using images from network and assets
• Hands-on Activity: Build a complex UI layout
Class 2: Navigation
• Navigator and routes
• Implementing push and pop navigation
• Hands-on Activity: Create a multi-screen app
Week 6:
State Management with GetX
Class 1: Introduction to GetX
• Setting up GetX for state management
• Using GetX controllers and reactive state
• Hands-on Activity: Convert a StatefulWidget to use GetX
Class 2: Advanced GetX Techniques
• Dependency injection and routing with GetX
• Hands-on Activity: Build a feature-rich app using GetX
Week 7:
Offline Storage and Version Control
Class 1: Offline Storage
• Using SharedPreferences for simple storage
• SQLite basics and CRUD operations
• Hands-on Activity: Implement local storage in an app
Class 2: Version Control with Git
• Git basics and setting up a repository
• Best practices for version control
• Hands-on Activity: Initialize a Git repository and manage branches
Week 8:
Publishing and Final Project
Class 1: Publishing to the Play Store
• Preparing the app for release
• Steps to publish an app on the Play Store
• Hands-on Activity: Package the app for release
Class 2: Final Project Showcase
• Presenting and reviewing mini projects
• Implementing Firebase services (e.g., Firebase Cloud Messaging)
• Hands-on Activity: Integrate Firebase into the project