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
- Top solutions during labs - 5pt each
- Flutter 3.13.4
- Dart 3.1.0
- 06.10.2023 - Intro lecture
- 13.10.2023 - What is Flutter?
- 20.10.2023 - Let's go deeper into Flutter
- 27.10.2023 - State Management
- 03.11.2023 - Asynchrony and HTTP
- 17.11.2023 - State Management with External Libraries
- 24.11.2023 - Firebase
- 01.12.2023 - Data persistence
- 08.12.2023 - Testing
- 15.12.2023 - Forms
- 22.12.2023 - Architecture
- 05.01.2024 - Flutter Web and Flutter Desktop
- 12.01.2024 - Communication with Native
- 19.01.2024 - Animations
- 26.01.2024 - Waiting for Proposals
- 06.10.2023 - Getting started
- 13.10.2023 - Layouts 1
- 20.10.2023 - Layouts 2 & using context
- 27.10.2023 - Context and StatefulWidget
- 03.11.2023 - Communication with API
- 17.11.2023 - State management with external services
- 24.11.2023 - Firebase Auth in action
- 01.12.2023 - You decide
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 five screens
- Application should communicate with 3rd party API OR use other data persistence 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
- 27.10.2023 - Initial documentation
- 26.01.2024 - Project Submission (source code + final documentation
- 09.02.2024 - 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 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.