Repository contains information about Programming mobile applications in Flutter course.
Jakub Fijałkowski – jakub.fijalkowski@leancode.pl
Mateusz Wojtczak – mateusz.wojtczak@leancode.pl
Piotr Rogulski – piotr.rogulski@leancode.pl
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
- Flutter 3.24.3
- Dart 3.5.3
- 08.10.2024 - Intro lecture
- 15.10.2024 - What is Flutter?
- 22.10.2024 - Let's go deeper into Flutter
- 29.10.2024 - State Management
- 05.11.2024 - Asynchrony and HTTP
- 12.11.2024 - State Management with External Libraries
- 19.11.2024 - Firebase
- 26.11.2024 - Data persistence
- 03.12.2024 - Testing
- 10.12.2024 - Forms
- 17.12.2024 - Architecture
- 07.01.2025 - Flutter Web and Flutter Desktop
- 14.01.2025 - Communication with Native
- 21.01.2025 - Animations
- 28.01.2025 - TBA
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.
- 11.10.2024 - Getting started
- 18.10.2024 - Layouts 1
- 25.10.2024 - Layouts 2 & using context
- 08.11.2024 - Context and StatefulWidget
- 15.11.2024 - Communication with API
- 22.11.2024 - State management with external services
- 29.11.2024 - Firebase Auth in action
- 06.12.2024 - TBA
Week 9-15 lab slots can be used for project consulting.
- 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
- 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
- 08.11.2024 - Initial documentation
- 28.01.2025 - Project Submission (source code + final documentation)
- 12.02.2025 - Late Project Submission
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 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. :)
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.