Skip to content

About

No description, website, or topics provided.

Resources

Stars

41 stars

Watchers

4 watching

Forks

Latest commit

 

History

266 Commits

Folders and files

Repository files navigation

Flutter @ MiNI - 2026/2027

Repository contains information about Programming mobile applications in Flutter course.

Contact info

Mateusz Wojtczak – mateusz.wojtczak@leancode.pl

Piotr Rogulski – piotr.rogulski@leancode.pl

Wiktor Zając – wiktor.zajac@leancode.pl

Rules

Students need to gather at least 51pt to pass the course:

  • 51–60pt - 3
  • 61–70pt - 3.5
  • 71–80pt - 4
  • 81–90pt - 4.5
  • 91–100pt - 5

Points can be gained from:

  • Project — 100pt
  • Activity during lectures — 10pt
  • Labs (non-obligatory) — 8 × 3pt = 24pt

Minimum SDK versions

  • Flutter 3.47.6
  • Dart 3.13.5

Setup

Lectures

Lectures take place on Tuesdays. If anything changes - it will be announced.

# Date Lecture Lecturer
1 06.10.2026 Introduction to Flutter Wiktor Zając
2 13.10.2026 Layouts 2: Flex, lists, and slivers Wiktor Zając
3 20.10.2026 Giving context to BuildContext Tomasz Koter
4 27.10.2026 Asynchrony and HTTP Piotr Rogulski
5 03.11.2026 State Management with External Libraries Wiktor Zając
6 10.11.2026 Firebase Wiktor Zając
7 17.11.2026 Animations Wiktor Zając
8 24.11.2026 Architecture Mateusz Wojtczak
9 01.12.2026 Testing Wiktor Zając
10 08.12.2026 Forms Kamil Sztandur
11 15.12.2026 Data Persistence Piotr Rogulski
12 22.12.2026 Fullstack Development with .NET and Flutter Wiktor Zając
13 12.01.2027 Communication with Native Wiktor Zając
14 19.01.2027 Flame Kamil Sztandur
15 26.01.2027 Design Systems & Accessibility Kamil Sztandur

Labs

Labs take place on Tuesdays, right after the lecture, in two groups. From lab 2 on, each lab is an exercise about the lecture from the previous week. Each lab consists of multiple parts. Completing all parts is optional (as your homework) and is worth additional 3 pts each.

# Date Lab
1 06.10.2026 Getting started: Dart and Flutter setup
2 13.10.2026 Layouts 1
3 20.10.2026 Layouts 2 & using context
4 27.10.2026 Context and StatefulWidget
5 03.11.2026 Communication with API
6 10.11.2026 State management with external services
7 17.11.2026 Firebase Auth in action
8 24.11.2026 Animations
9 01.12.2026 Mandatory project checkpoint

Week 10–15 lab slots can be used for project consulting — only by prior arrangement.

Sending solutions

Send each lab by email to the teacher of your group:

  1. Solve the lab in your clone of this repository, in labs/weekN. Don't create a separate project.
  2. Run flutter clean in labs/weekN.
  3. Zip the whole labs/weekN directory and name the archive labN_surname_name.zip, lowercase and without Polish characters, e.g. lab2_kowalski_jan.zip. The archive should contain one directory: weekN.

Your teacher unpacks the archive in place of labs/weekN and runs it as it is, so don't send single files or a different project structure.

Project

Requirements

  • Individual multilayer Flutter application that works at least on one mobile platform (Android/iOS)
  • Application’s topic and scope is defined by the student, should be described in the initial documentation and approved by the teacher of your group.
  • Project’s source code and final documentation is submitted according to the Timeline.

Assessment Rules

  • Implementation of the required project assumptions (50pt)
    • Initial documentation — 5pt
    • Architecture — 15pt
    • Code quality (e.g., static code analysis, formatting) — 15pt
    • UI/UX
      • Material Design — 5pt
      • Custom design widgets — 5pt
    • The final documentation — 5pt
  • Optional requirements (max 50pt)
    • Animations
      • Implicit / ready-to-use packages — max 5pt
      • Custom — max 10pt
    • Tests
      • Unit tests — max 5pt
      • Widget tests — max 5pt
      • Patrol tests — max 10pt
    • Signing in process
      • Firebase Auth — max 5pt
      • Custom backend auth — max 10pt
    • Multistep form with validation — max 10pt
    • CI/CD — max 15pt
      • Code analysis & run flutter test — max 10pt
      • App deployment — max 10pt
    • Platform Channels
      • Using pub package for platform features (e.g., camera) — 5pt
      • Creating custom platform channels — 15pt
    • Internationalization — max 10pt
    • Custom painting — max 5pt
    • Local data persistence (offline) — max 15pt

Timeline

Sending the project

Send the project by email to the teacher of your group, as with labs. Run flutter clean, then zip the project directory together with the final documentation (PDF) and name the archive project_surname_name.zip, e.g. project_kowalski_jan.zip.

Initial Documentation

Initial documentation should contain:

  • Project description
  • Desired optional requirements should be listed in the initial documentation
  • User stories (e.g., As a user, I can sign in; As a user, I can view the list of items)

Final Documentation

The final documentation should contain:

  • Project description
  • Integrations
  • List of optional requirements
  • Instruction
  • Test account (if applicable)
  • Database/Firestore schema (if applicable)
  • CI/CD description/screenshot (if applicable)

But it shouldn't be longer than 1–2 pages. :)

Late Project Submission

Students can submit the project until 14.02.2027. Each day of being late will take a decrease of 5pt from the total number of gained points (not less than 51pt). Projects submitted after the final deadline won't be accepted.

Resources

About

No description, website, or topics provided.

Resources

Stars

41 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages