Skip to content

Latest commit

 

History

History
154 lines (118 loc) · 5.12 KB

README.md

File metadata and controls

154 lines (118 loc) · 5.12 KB

Flutter @ MiNI - 2024/2025

Repository contains information about Programming mobile applications in Flutter course.

Contact info

Jakub Fijałkowski – jakub.fijalkowski@leancode.pl

Mateusz Wojtczak – mateusz.wojtczak@leancode.pl

Piotr Rogulski – piotr.rogulski@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 * 3 = 24 pt

Minimum SDK versions

  • Flutter 3.24.3
  • Dart 3.5.3

Lectures

  1. 08.10.2024 - Intro lecture
  2. 15.10.2024 - What is Flutter?
  3. 22.10.2024 - Let's go deeper into Flutter
  4. 29.10.2024 - State Management
  5. 05.11.2024 - Asynchrony and HTTP
  6. 12.11.2024 - State Management with External Libraries
  7. 19.11.2024 - Firebase
  8. 26.11.2024 - Data persistence
  9. 03.12.2024 - Testing
  10. 10.12.2024 - Forms
  11. 17.12.2024 - Architecture
  12. 07.01.2025 - Flutter Web and Flutter Desktop
  13. 14.01.2025 - Communication with Native
  14. 21.01.2025 - Animations
  15. 28.01.2025 - TBA

Labs

Each lab is an exercise about the preceding lecture consisting of multiple parts. Completing all parts is optional (as your homework) and is worth additional 3 pts each.

  1. 11.10.2024 - Getting started
  2. 18.10.2024 - Layouts 1
  3. 25.10.2024 - Layouts 2 & using context
  4. 08.11.2024 - Context and StatefulWidget
  5. 15.11.2024 - Communication with API
  6. 22.11.2024 - State management with external services
  7. 29.11.2024 - Firebase Auth in action
  8. 06.12.2024 - TBA

Week 9-15 lab slots can be used for project consulting.

Project

Requirements

  • Individual multi-layer 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 lecturer
  • 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
    • Final documentation - 5pt
  • Optional requirements (max 50pt)
    • Support for each additional platform (Mobile/Web/Desktop) - 5pt each
    • 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
    • Multi-step form with validation - max 10pt
    • CI/CD - max 15pt
      • code analysis & run flutter test - max 10pt
      • deploy app - 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

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

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 09.02.2024. Each day of being late will take a decrease of 5pt from the total number of gained points (not less than 51pts). Projects submitted after the final deadline won't be accepted.

Resources