Repository contains information about Programming mobile applications in Flutter course.
Jakub Fijałkowski - jakub.fijalkowski@leancode.pl
Mateusz Wojtczak - mateusz.wojtczak@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
- Flutter 3.3.3 (latest stable on 01.10.2022)
- Dart 2.18.2
- 03.10.2022 - Intro lecture
- 10.10.2022 - What is Flutter?
- 17.10.2022 - Let's go deeper into Flutter
- 24.10.2022 - State Management
- 07.11.2022 - Asynchrony and HTTP
- 14.11.2022 - State Management with External Libraries
- 21.11.2022 - Firebase
- 28.11.2022 - Data persistence
- 05.12.2022 - Forms
- 12.12.2022 - Testing
- 19.12.2022 - Code generation
- 02.01.2023 - Flutter Web and Flutter Desktop
- 09.01.2023 - Animations
- 16.01.2023 - Communication with Native
- 23.01.2023 - Waiting for Proposals
- 03.10.2022 - Getting started
- 10.10.2022 - Layouts 1
- 17.10.2022 - Layouts 2 & using context
- 24.10.2022 - Context and StatefulWidget
- 07.11.2022 - Communication with API
- 14.11.2022 - State management with external services
- 21.11.2022 - Firebase Auth in action
- 28.11.2022 - Useful widgets
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 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
- 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
- 24.10.2022 - Initial documentation
- 23.01.2023 - Project Submission (source code + final documentation
- 06.02.2023 - Late Project Submission
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 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. :)
A to-do list app (like Google Tasks/Todoist/Remember The Milk)
- Firebase Auth
- Cross-device synchronization
- Note sharing
- Sign in / sign up
- Image messages support
- "Seen" status support
- (optional) Other media messages support
- (optional) Creating rooms or contact list
- Classification using categories
- Fuzzy search
- Item grouping
- History
- Local persistence
- 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
- Categories
- Filters
- Sorting
- Item photo pinch-to-zoom
- Local cart
- Sharing items (with deep-links)
- PoI map
- PoI list
- Tags
- Categories
- Filters
- Sorting by location
- User geolocation
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.