0% found this document useful (0 votes)
12 views

Title Description of Flutter Course

Uploaded by

lamsalgobin18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Title Description of Flutter Course

Uploaded by

lamsalgobin18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Week 1: Introduction to Flutter & Dart

Day 1: Getting Started


- Overview of Mobile App Development
- Introduction to Flutter & Dart
- Installing Flutter (Windows, macOS, Linux)
- Setting up IDE (VSCode, Android Studio)

Day 2: First Flutter App


- Understanding Flutter project structure
- Running the default Flutter app
- Hot Reload and Hot Restart

Day 3: Basics of Dart Programming


- Variables and Data Types
- Functions and Control Flow (if/else, loops)

Day 4: Object-Oriented Programming in Dart


- Classes, Constructors, Inheritance
- Hands-on: Building simple Dart programs

Week 2: Flutter Widgets & UI


Day 1: Widgets 101
- Introduction to Flutter Widgets
- Stateless vs Stateful Widgets
- Common Widgets: Text, Container, Row, Column

Day 2: Layout Basics


- Padding, Alignment, Flexbox
- Layout creation using Rows and Columns
- Building flexible UIs with Expanded and Flex

Day 3: Complex Widgets


- ListView and GridView
- Images and Icons in Flutter
- Hands-on: Creating a basic static UI with these widgets

Day 4: Hands-on Project


- Build a static UI for a simple mobile app (e.g., profile page or settings page)

Week 3: Building Interactive UI


Day 1: User Input and Forms
- TextFields and Buttons
- Handling form inputs and validation

Day 2: Navigation and Routing


- Navigating between screens (push/pop, Navigator)
- Passing data between screens using arguments

Day 3: State Management Basics


- Introduction to State and setState
- Handling user interactions: Clicks, Gestures, and Taps

Day 4: Hands-on Project


- Create a multi-screen app that captures user input and navigates between pages

Week 4: Working with Lists and Data


Day 1: Lists and Grids
- Displaying dynamic lists using ListView.builder
- Creating scrollable and interactive lists

Day 2: Handling User Actions on Lists


- Using GestureDetectors for interactivity
- Handling swipe actions and clicks

Day 3: Dynamic Data and UI Updates


- Updating the UI in response to data changes
- Using setState for dynamic updates

Day 4: Hands-on Project


- Create a dynamic list app (e.g., task manager) that updates based on user input

Week 5: Building Multi-Page Apps with Widgets


Day 1: Advanced Widgets
- Using advanced widgets like Stack, Positioned, and Hero
- Building layered UIs with Stack and Positioned

Day 2: Custom Widgets and Reusability


- Creating custom widgets for reusability
- Passing data to custom widgets through constructors

Day 3: Navigating with Bottom Navigation and TabBar


- Implementing bottom navigation bars
- Creating a TabBar with multiple tabs
- Navigating between multiple pages using tabs

Day 4: Hands-on Project


- Build a multi-page app (e.g., e-commerce app, recipe app) using a combination of Stack, Tabs,
and advanced widgets

Week 6: State Management and Local Storage


Day 1: Introduction to State Management
- Understanding state in Flutter
- Introduction to setState for managing simple state
- When to use Stateful vs Stateless widgets

Day 2: State Management with Provider


- Introduction to the Provider package for global state management
- Using ChangeNotifier and Consumer
- Managing app-wide state efficiently
Day 3: Local Storage Basics
- Saving and retrieving data locally using SharedPreferences
- Persisting simple data like user preferences
- Introduction to SQLite for structured local storage

Day 4: Hands-on Project


- Build a small app (e.g., to-do app) that uses Provider for state management and
SharedPreferences for saving user data persistently

Week 7: Building a To-Do App with Hive and Bloc


Day 1: Introduction to Hive Database
- Overview of Hive as a lightweight and fast NoSQL database for Flutter
- Setting up Hive in a Flutter project
- Storing and retrieving data using Hive
- Managing tasks with Hive boxes

Day 2: Introduction to Bloc for State Management


- Understanding the Bloc (Business Logic Component) pattern
- Setting up Bloc in Flutter
- Managing state transitions using Bloc and Cubit
- Connecting UI with Bloc for better state management

Day 3: Integrating Hive with Bloc


- Combining Hive for data storage and Bloc for state management
- Persisting and updating to-do items using Hive and Bloc
- Implementing CRUD (Create, Read, Update, Delete) operations with Hive and Bloc

Day 4: Hands-on Project


- Build a complete to-do app using Hive for data persistence and Bloc for state management
- Implement task addition, deletion, and modification with proper state management

Week 8: Networking and API Integration


Day 1: Introduction to REST APIs and Networking in Flutter
- What is a REST API and how it works
- Using the http package in Flutter for making HTTP requests
- Fetching data from APIs using GET requests
- Parsing and handling JSON data in Flutter

Day 2: Sending Data to APIs (POST, PUT, DELETE)


- Sending data to APIs using POST requests
- Updating data using PUT requests
- Deleting data using DELETE requests
- Handling errors and retries in network requests

Day 3: Handling Asynchronous Data with Future and Stream


- Introduction to asynchronous programming in Flutter
- Using Future, async, and await for API calls
- Working with Streams for handling real-time data
- Error handling in asynchronous operations

Day 4: Hands-on Project


- Build an app that fetches data from a public API (e.g., weather app, news app)
- Allow users to submit data (e.g., search queries, form submissions) and update UI accordingly
- Implement error handling and loading indicators for a smooth user experience

Week 9: Building a News App


Day 1: Setting Up the News App and Fetching Data
- Introduction to a news API (e.g., NewsAPI, NY Times API)
- Setting up API access (API keys, endpoints)
- Structuring the Flutter project for the news app
- Fetching top headlines or articles from the API using GET requests

Day 2: Displaying News Articles


- Parsing and displaying news articles in a ListView
- Creating UI components to display article titles, descriptions, and images
- Implementing lazy loading for images and articles
Day 3: News Article Details Page and Navigation
- Navigating from the article list to a detailed news article page
- Passing article data between screens
- Displaying full article details including the author, published date, and content
- Adding the option to open the full article in an in-app browser (WebView)

Day 4: Hands-on Project


- Finalizing the news app by implementing search functionality to look up articles by keyword
- Adding pagination or infinite scroll for continuous loading of articles
- Handling API errors and loading states
- Wrap-up: Testing, debugging, and optimizing the app with Version Control (GitHub/Git)

Week 10: Revision & Capstone Preparation


Day 1: Full Revision of Flutter Concepts
- Review key topics:
- Flutter and Dart basics
- Widgets and UI layouts
- State management techniques (setState, Provider, Bloc)
- Networking and API integration
- Local storage with Hive
- Recap with Q&A and quick hands-on exercises
- Discuss any unclear concepts

Days 2-4: Capstone Project Planning


- Introduce the Movie App as the capstone project
- Outline the project scope and goals
- Brainstorm and research Movie App UI/UX design
- Review relevant documentation and best practices for app development
- Divide roles (frontend, backend, API integration, UI/UX design)
- Set up collaborative tools (GitHub, Trello, Figma, etc.)

Weeks 11-12: Team Project - Building a Movie App


Week 11: Team Collaboration and Development
Day 1: Set up project repositories and development environment
Day 2: Team divides roles and starts working on individual components (UI, API integration, state
management)
Day 3: Regular check-ins and debugging sessions as a team
Day 4: Merge components and start testing the core features

Week 12: Final Touches and Deployment


Day 1: Finalize the app, conduct extensive testing (unit tests, UI tests)
Day 2: Prepare for deployment (app store guidelines, submission processes)
Day 3: Create project presentation materials (slides, demo video)
Day 4: Present the final Movie App to the class and receive feedback

You might also like