The workshop is focused on training students on flutter framework to develop mobile applications. This is a practice-oriented course and it includes multiple projects. The course aims at delivering a general understanding of non-native frameworks like flutter and train students to use the strong features and flexibilities that flutter has to offer creating dynamic apps.
Within the course students will be developing 4 mini projects, 2 medium projects and 1 complete project for the graduation of this course.
- Mini project will show the abilities of the students to work with low level code and business logic.
- Medium level projects will train the students on dealing with business logic and UI components within an app and get the hang of design patterns.
- Complete projects will showcase the student’s ability to combine all flutter skills to build robust mobile apps with the latest design patterns, methodologies, and backend tools.
By the end of the program, participants will be able to:
- Build mobile apps using flutter framework following the latest guidelines and practices with backend integration using google cloud services like firebase for backend.
- Understand how customization work and empower them to create the mobile apps they want to develop faster and with restudied shortcuts and tools .
Week 1: Introduction to Dart
Dart as an OOP
Will display to students how dart is an object oriented language and how it compares against other languages like java , c++ and c#
Introduction to flutter
- What is flutter
- How does flutter differ from other frameworks
- Flutter architecture
Week 2: Widgets and UI components
- Layout widgets
- Basic widgets
- Input widgets
- Interaction widgets
Week 3: Widgets and customizations
- Widgets decoration
- Width and height
Week 4: Widgets and introduction to plugins
- SinglechildScrill View
Week 5: Introduction to states and Firebase
- What is state management?
- Why we care for state management?
- What is firebas?State management with GetX and Firebase setup
- Introduction to GetX ● GetX navigation
- GetX data state access and update
- Setup project with firebase
Week 6: Firestore CRUD operations
- Read data from database
- Write data to the database
- Update data on database
- Delete Data from database
Week 7: Build To do list app with firebase backend
- Add, remove or edit a task
- change color of the task once its completed
- Delete Data from database
Introduction to course final project
- Setting up firebase
- Discuss topics
- Explain UI/UX and wireframes
- What to do and what not to do when working with firebase
- Best practices
Week 8: Pub.dev, research resources and debugging
- Grouped buttons
- DateTime pickers
- Common issues and how to solve them
- Cont. common issues and how to solve them
- Final project evaluation phase 1