{"id":20340889,"url":"https://github.com/leancodepl/flutter-at-mini","last_synced_at":"2025-04-11T23:24:28.407Z","repository":{"id":46232619,"uuid":"415993509","full_name":"leancodepl/flutter-at-mini","owner":"leancodepl","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-26T19:45:49.000Z","size":57090,"stargazers_count":28,"open_issues_count":0,"forks_count":6,"subscribers_count":5,"default_branch":"2024/2025","last_synced_at":"2025-03-25T19:16:09.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leancodepl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-11T15:53:38.000Z","updated_at":"2025-02-07T12:15:39.000Z","dependencies_parsed_at":"2024-11-29T08:20:19.327Z","dependency_job_id":"b1d731d6-db95-4941-aafa-3e1865eaac6f","html_url":"https://github.com/leancodepl/flutter-at-mini","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leancodepl%2Fflutter-at-mini","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leancodepl%2Fflutter-at-mini/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leancodepl%2Fflutter-at-mini/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leancodepl%2Fflutter-at-mini/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leancodepl","download_url":"https://codeload.github.com/leancodepl/flutter-at-mini/tar.gz/refs/heads/2024/2025","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248493732,"owners_count":21113309,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T21:24:32.098Z","updated_at":"2025-04-11T23:24:28.401Z","avatar_url":"https://github.com/leancodepl.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flutter @ MiNI - 2024/2025\n\nRepository contains information about **Programming mobile applications in\nFlutter** course.\n\n## Contact info\n\nJakub Fijałkowski – \u003cjakub.fijalkowski@leancode.pl\u003e\n\nMateusz Wojtczak – \u003cmateusz.wojtczak@leancode.pl\u003e\n\nPiotr Rogulski – \u003cpiotr.rogulski@leancode.pl\u003e\n\n## Rules\n\nStudents need to gather at least 51pt to pass the course:\n\n- 51-60pt - 3\n- 61-70pt - 3.5\n- 71-80pt - 4\n- 81-90pt - 4.5\n- 91-100pt - 5\n\nPoints can be gained from:\n\n- Project - 100pt\n- Activity during lectures - 10pt\n- Labs (non-obligatory) - 8 * 3 = 24 pt\n\n### Minimum SDK versions\n\n- Flutter 3.24.3\n- Dart 3.5.3\n\n## Lectures\n\n1. **08.10.2024** - [Intro lecture](lectures/week1)\n2. **15.10.2024** - [What is Flutter?](lectures/week2)\n3. **22.10.2024** - [Let's go deeper into Flutter](lectures/week3)\n4. **29.10.2024** - [State Management](lectures/week4)\n5. **05.11.2024** - [Asynchrony and HTTP](lectures/week5)\n6. **12.11.2024** - [State Management with External Libraries](lectures/week6)\n7. **19.11.2024** - [Firebase](lectures/week7)\n8. **26.11.2024** - [Data persistence](lectures/week8)\n9. **03.12.2024** - [Testing](lectures/week9)\n10. **10.12.2024** - [Forms](lectures/week10)\n11. **17.12.2024** - [Architecture](lectures/week11)\n12. **07.01.2025** - [Flutter Web and Flutter Desktop](lectures/week12)\n13. **14.01.2025** - [Communication with Native](lectures/week13)\n14. **21.01.2025** - [Animations](lectures/week14)\n15. **28.01.2025** - TBA\n\n## Labs\n\nEach lab is an exercise about the preceding lecture consisting of multiple\nparts. Completing all parts is optional (as your homework) and is worth\nadditional 3 pts each.\n\n1. **11.10.2024** - [Getting started](labs/week1)\n2. **18.10.2024** - [Layouts 1](labs/week2)\n3. **25.10.2024** - [Layouts 2 \u0026 using context](labs/week3)\n4. **08.11.2024** - [Context and StatefulWidget](labs/week4)\n5. **15.11.2024** - [Communication with API](labs/week5)\n6. **22.11.2024** - [State management with external services](labs/week6)\n7. **29.11.2024** - [Firebase Auth in action](labs/week7)\n8. **06.12.2024** - [Data Persistence](labs/week8)\n\nWeek 9-15 lab slots can be used for project consulting - only by prior arrangement.\n\n## Project\n\n### Requirements\n\n- Individual multi-layer Flutter application that works at least on one mobile\n  platform (Android/iOS)\n- Application's topic and scope is defined by the student, should be described\n  in the initial documentation and approved by the lecturer\n- Project's source code and final documentation is submitted according to\n  the [Timeline](#timeline)\n\n### Assessment Rules\n\n- Implementation of the required project assumptions (50pt)\n    - Initial documentation - 5pt\n    - Architecture - 15pt\n    - Code quality (e.g. static code analysis, formatting) - 15pt\n    - UI/UX\n        - Material Design - 5pt\n        - Custom design widgets - 5pt\n    - Final documentation - 5pt\n- Optional requirements (max 50pt)\n    - Support for each additional platform (Mobile/Web/Desktop) - 5pt each\n    - Animations\n        - Implicit / ready-to-use packages - max 5pt\n        - Custom - max 10pt\n    - Tests\n        - Unit tests - max 5pt\n        - Widget tests - max 5pt\n        - Patrol tests - max 10pt\n    - Signing in process\n        - Firebase Auth - max 5pt\n        - Custom backend auth - max 10pt\n    - Multi-step form with validation - max 10pt\n    - CI/CD - max 15pt\n        - code analysis \u0026 run flutter test - max 10pt\n        - deploy app - max 10pt\n    - Platform Channels\n        - Using pub package for platform features (e.g. camera) - 5pt\n        - Creating custom platform channels - 15pt\n    - Internationalization - max 10pt\n    - Custom painting - max 5pt\n    - Local data persistence (offline) - max 15pt\n\n### Timeline\n\n- 08.11.2024 - [Initial documentation](#initial-documentation)\n- 28.01.2025 - Project Submission (source code + [final documentation](#final-documentation))\n- 12.02.2025 - [Late Project Submission](#late-project-submission)\n\n### Initial Documentation\n\nInitial documentation should contain:\n\n- Project description\n- Desired optional requirements should be listed in the initial documentation\n- User stories (e.g. As a user, I can sign in; As a user, I can view the list of items)\n\n### Final Documentation\n\nFinal documentation should contain:\n\n- Project description\n- Integrations\n- List of optional requirements\n- Instruction\n- Test account (if applicable)\n- Database/Firestore schema (if applicable)\n- CI/CD description/screenshot (if applicable)\n\nBut it shouldn't be longer than 1-2 pages. :)\n\n### Late Project Submission\n\nStudents can submit the project until 09.02.2024. Each day of being late will\ntake a decrease of 5pt from the total number of gained points (not less than\n51pts). Projects submitted after the final deadline won't be accepted.\n\n## Resources\n\n- [Flutter Official Documentation](https://flutter.dev/docs)\n- [Pub Dev](https://pub.dev)\n- [Effective Dart](https://dart.dev/guides/language/effective-dart)\n- [Inside Flutter (for curious ones)](https://docs.flutter.dev/resources/inside-flutter)\n- [Opinionated linter rules used in this codebase](https://github.com/leancodepl/flutter_corelibrary/tree/master/packages/leancode_lint)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleancodepl%2Fflutter-at-mini","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleancodepl%2Fflutter-at-mini","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleancodepl%2Fflutter-at-mini/lists"}