SWDMA501 MobileApp Development
SWDMA501 MobileApp Development
DEVELOPMENT
SWDMA501 Develop Mobile Application using
Flutter
Competence
Individual 50%
project /Work
1.2 Dart concepts are appropriately applied according to the dart standards.
1.4 Dart Libraries and packages are appropriately used based the
application requirements
2.1 Flutter environment is properly prepared based on system
requirements.
2. Implement
UI designs
2.2 Flutter's widget system is correctly utilized based on responsiveness
principles for mobile application
2.4 Flutter's rich set of pre-designed widgets are effectively used based on
industry standards and design guidelines.
3. Integrate 3.1 External services with flutter packages are effectively integrated based
backend on industry standards and best practices.
functionality
3.2 Storage management is correctly implemented based on data integrity
and security standards.
3.5 Tests are efficiently performed based on the reliability of the mobile
application requirements.
4. Publish 4.1 Installable files for mobile platforms are correctly generated based on
Application the manufacturer's guide.
4.2 Submissions to relevant app stores of the app generated builds are
correctly published following their respective submission guidelines.
4.3 Post-deployment issues are correctly addressed based on quality
standards and user expectations.
● Performing Widget
based UI designing
● Applying Dart
programming
Course content
4. Publish Application
Indicative content
Introduction to Dart
Dart frameworks
Use cases.
Data types
Variables
Functions
Native Apps
Cross Platform
Dart SDK
Declaration of variables
Data types
Naming convention
Conditional statements
Iterating statements
Using functions
Declaring functions
Calling functions
Inheritance
Polymorphism
Encapsulation
Abstraction
Equipment Computer
Facilitation Demonstration,
techniques or Simulation
Learning activity Group work
Practical exercise
Individualized
Group discussion
Indicative content
Purpose
Features
Widgets
Definition
Types
Widget Lifecycle
State management
Definition
Packages
Libraries
Methods
Environment Set Up
Widget composition
Container
Expanded
Stack
Core widgets
Layout Widgets
Using packages.
GetX package
Provider package
Using pattern
Redux pattern
Business Logic Component (BLoC) pattern
Using setState() method
Using the riverpod solution.
Using navigation and routing.
Navigator
Route
BottomNavigationBar
TabBar and TabBarView
● Using pre-designed widgets
Facilitation Demonstration,
techniques or Simulation
Learning activity Group work
Practical exercise
Individualized
Group discussion
Indicative content
GET
POST
PUT
DELETE
UPDATE
PATCH
Adding dependencies
Adding calls
Handle Responses
Push notifications(firebase)
Data integrity
Security standards.
Use Local Data Storage
● Implementation of microapps
Definition
Structure
Project structure
Dependency injection
Shared components
Android gradle
Description
Definition of error handling
Error classes
Exception Management
try-catch block
OnError
CatchError
Rethrowing exceptions
Finally block
on clause
● Perform testing
Description
Definition
Importance
Testing Levels
Unit Tests
Widget Tests
Integration Tests
Functional Tests
UI Tests
Performance Tests
Regression Tests
Cross-Platform Testing
Security testing
Test Reliability
Codebase
Debug
Logging
Flutter DevTools
Isolation
Assertion
Breakpoints
Print statement
Code Reviews
Prepare documentation
Facilitation Demonstration,
techniques or Simulation
Learning activity Group work
Practical exercise
Individualized
Group discussion
Indicative content
Description
Types of builds
Compilation Models
Just-in-Time (JIT) Compilation
Android (APK)
App Screenshots
App Description
Distribution
Equipment Computer
Facilitation Demonstration,
techniques Simulation
Group work
Practical exercise
Individualized
Group discussion
KLEIN is a growing online retail start-up located in Rwamagana, they don’t have a robust presence
in the digital marketplace by offering a seamless shopping experience to its customers. They deal in
a wide range of products including clothes, shoes, bags, household equipment, jewellery and
cosmetics. They are hiring a mobile app developer to create a comprehensive e-commerce cross-
platform mobile application for them. The mobile app should allow users to browse a wide range of
products, easily add items to their cart, securely make purchases, and track their orders in real-
time. As a Flutter developer, you are hired to design and implement a feature-rich app that meets
KLEIN’s requirements and exceeds their expectations.
Tasks:
1. Develop screens for browsing products with search, filtering and multi-language capabilities.
3. Implement a shopping cart that allows adding, updating, removing items and performing
checkout.
Information:
Resources
Tools Flutter SDK, Dart SDK, Visual Studio Code, XCode, Appium, Flutter
Driver, Widget Inspector, Windows OS, MacOS
Ind.4 Dart 2
Environment is
tested
Ind3. Dependencies 2
are managed
Ind.4 External 2
packages are
applied
Ind.3 Multi 2
languages are
applied
Ind.3 Android 2
gradles and
Ind.3 Widget 2
components are
tested
Ind.4 Performance 1
is tested
Ind.3 Debugging 2
report is
generated.
4.2 Submissions to 2
relevant app stores of the
app generated builds are Ind.1 App Icons are
correctly published designed
Ind.2 App 3
Screenshots are
designed
Ind.3 App Release 3
Builds are
generated
Ind 2: Compatibility 2
problems are fixed
References:
1. Miola, A. (2020). Flutter Complete Reference: Create Beautiful, Fast and Native Apps for
Any Device. KDP: Amazon LLC.
2. Napoli, M. L. (2019). Beginning Flutter: A Hands On Guide to App Development 1st
Edition. Indianapolis: John Wiley & Sons.
3. Rose, R. (2022). Flutter and Dart Cookbook 1st Edition. Calfornia: O'Reilly Media.
4. Thornton, E. (2020). Flutter For Beginners: A Genius Guide to Flutter App Development.
KDP: Amazon Digital Services LLC.
5. Tutorials Point. (2019). Flutter. Retrieved from Tutorials Point (I) Pvt. Ltd:
Glossary
E2E : End-to-End
Authoring institution