Skip to content

PNieck/flutter-at-mini

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flutter @ MiNI - 2022/2023

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

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

Minimum SDK versions:

  • Flutter 3.3.3 (latest stable on 01.10.2022)
  • Dart 2.18.2

Lectures

  1. 03.10.2022 - Intro lecture
  2. 10.10.2022 - What is Flutter?
  3. 17.10.2022 - Let's go deeper into Flutter
  4. 24.10.2022 - State Management
  5. 07.11.2022 - Asynchrony and HTTP
  6. 14.11.2022 - State Management with External Libraries
  7. 21.11.2022 - Firebase
  8. 28.11.2022 - Data persistence
  9. 05.12.2022 - Forms
  10. 12.12.2022 - Testing
  11. 19.12.2022 - Code generation
  12. 02.01.2023 - Flutter Web and Flutter Desktop
  13. 09.01.2023 - Animations
  14. 16.01.2023 - Communication with Native
  15. 23.01.2023 - Waiting for Proposals

Labs

  1. 03.10.2022 - Getting started
  2. 10.10.2022 - Layouts 1
  3. 17.10.2022 - Layouts 2 & using context
  4. 24.10.2022 - Context and StatefulWidget
  5. 07.11.2022 - Communication with API
  6. 14.11.2022 - State management with external services
  7. 21.11.2022 - Firebase Auth in action
  8. 28.11.2022 - Useful widgets

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 should contain at least two screens
  • Application should communicate with 3rd party API OR use other data persistency solution
  • Application's topic and scope is defined by the student, should be described in 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
    • Implementation of a multi-layer application - 15pt
    • Code quality - 10pt
    • UI/UX - 10pt
    • Final documentation - 10pt
  • Optional requirements (max 50pt)
    • Support for additional platform (Android/iOS/Web/Desktop) - 5pt each
    • Implementing BLoC pattern - 10pt
    • Animations - 10pt
    • Tests - 10pt
    • Signing in process - 10pt
    • Complex form with validation - 10pt
    • CI/CD - 5pt
    • Platform Channels - 10pt
    • Internationalization - 5pt
    • Accessibility - 5pt
    • Custom painting - 10pt
    • Deep links - 10pt
    • Using Camera/Bluetooth/Other platform features - 10pt
    • Offline support - 20pt
  • Adherence to the schedule - 10pt

Timeline

Initial Documentation

Initial documentation should contain:

  • Project description
  • 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. :)

Examples of projects

To-do list app

A to-do list app (like Google Tasks/Todoist/Remember The Milk)

  • Firebase Auth
  • Cross-device synchronization
  • Note sharing

Instant messaging app

  • Sign in / sign up
  • Image messages support
  • "Seen" status support
  • (optional) Other media messages support
  • (optional) Creating rooms or contact list

Shopping list app

  • Classification using categories
  • Fuzzy search
  • Item grouping
  • History
  • Local persistence

Feed browser app

  • Connected to some public API (like Reddit)
  • Favorite posts with local persistence
  • Simple actions (likes / comments - depending on the API)
  • (optional) Video posts playback support

Online store browser app (local / fake API)

  • Categories
  • Filters
  • Sorting
  • Item photo pinch-to-zoom
  • Local cart
  • Sharing items (with deep-links)

PoI (Point of Interest) browser app

  • PoI map
  • PoI list
  • Tags
  • Categories
  • Filters
  • Sorting by location
  • User geolocation

Late Project Submission

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

Resources

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 35.0%
  • C++ 29.7%
  • CMake 25.3%
  • HTML 4.2%
  • Swift 1.9%
  • C 1.9%
  • Other 2.0%