4. Lab: Design Skills & Flutter GUI
Estimated time to read: 15 minutes
In this lab, you will enhance your design skills. Design is a craft that can be learned, and an art if you strive to be exceptional. While you don't need to be exceptional to achieve a good grade in this module, you do need to master the essential skills! You will also continue learning Flutter.
You will find further instructions and hints in Design.
4.1 Preparation
The goal is to have everything in this chapter ready as an alpha, feature-complete version.
In Figma, create a page with two screens using styles and components.
Apply for a free edu license to be able to work collaboratively.
Implement an app that includes
4.1.1 Paper Prototypes
Prepare 2 different paper prototypes for evaluation.
Define 3-5 major tasks for your app to be used in the evaluation.
4.1.2 Fonts and Colors
Choose fonts and colors for your app.
- Add important visual design decisions to:
docs/design.md
4.1.3 Icon/Logo
Design or choose a logo for your app. You may try Recraft.ai.
4.2 During the Lab
- We will discuss your questions and concerns.
- Everyone will present their Figma screen and its implementation in Flutter.
- You will evaluate your paper prototypes with another team.
- You will finalize your paper prototype.
- Assign tasks and to-dos for your team.
- We will discuss the quality of your issues.
4.3 After the Lab
Document your paper prototypes and the results of testing them in
docs/design.md.Finalize your paper prototype in Figma. Use Figma components thoughtfully — anything you design as a component is a strong candidate for a reusable widget in Flutter.
-
Annotate each major frame in your Figma prototype to prepare for implementation. For every frame, add a comment that specifies:
- What data is needed on that screen (derived from your conceptual models and user flows)
- Where the data comes from, using one of these symbols or labels:
API·Supabase·Firebase·LocalStorage - How the state is managed, distinguishing between app state (shared across screens) and ephemeral state (local to a single screen)
teamwork
Divide the work by feature — both in Figma and later in Flutter.
Document the following in your portfolio (use the file docs/3-Design.md):
Your process up to the final Figma prototype, including
- Paper prototypes of your application with justified design decisions.
- Description of test cases and testing process.
- Summary of key findings and adjustments (~> Reflection on the UI test).
A brief reflection on what went well, what felt like a waste of time, and what surprised you.
Remember, it’s not just about completing the tasks, but also providing thoughtful reasoning. Explain your decisions. Reference the relevant theory to support your process.
4.3.1 In GitLab
Add screenshots of your Figma prototype to your issues.
Create your app in the
appfolder of your repository:- Define the app theme.
- Add your logo.
- Implement bottom navigation.
- Create the necessary files for your screens and widgets.