Git Product home page Git Product logo

to-do-app's Introduction

To-Do application

Flutter to-do application for yandex summer school of mobile development.

Flutter version 3.10.5

Getting Started

Project uses freezed and hive, to generate items use command:

fvm flutter packages pub run build_runner build --delete-conflicting-outputs

apk file

download apk DEV download apk PROD

flavors

dev flavor prod flavor

run

fvm flutter run --target lib/main_dev.dart --flavor=dev --dart-define URL=$url --dart-define token=$token fvm flutter run --target lib/main_prod.dart --flavor=prod --dart-define URL=$url --dart-define token=$token

build release

sh build_apk_release.sh

open create todo with deeplink

Android adb shell 'am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "https://beta.mrdekk.ru/detail"' com.example.ya_todo_app

IOS xcrun simctl openurl booted mrdekk://beta.mrdekk.ru/detail

run integration test

fvm flutter test integration_tests/crud_todo_test.dart --flavor=dev --dart-define URL={$URL} --dart-define token={$token}

Features:

  • CRUD with TODO
  • swipes for mark todo done or delete
  • light and dark themes
  • filter on list of todos. show all or only not completed
  • todo local storage
  • navigator 2.0
  • api
  • deeplink on create todo screen
  • unit tests
  • integration test on CRUD flow
  • intl
  • CI with GitHub actions (format, analyze, test, build)
  • Firebase crashlytics
  • Firebase analytics
  • Firebase remoteconfig runtime update
  • portrait and landscape orientation
  • tablet support

Libraries & Tools Used

Application screenshots

to-do-app's People

Contributors

1mavic avatar

Watchers

 avatar

to-do-app's Issues

Проверка ДЗ4

Привет, я проверяю твою работу в рамках 4 дз.
Давай сразу к критериям:

  • Чистота кода и общая структура проекта 5/5
  • Навигация 1/1
  • Обрезка по макету 1/1
  • Ночная тема 1/1
  • За анимации полный балл поставить не могу, потому что при добавлении новой задачи и редактировании у тебя сначала часть списка прорисовывается одним кадром, и только другим уже весь список и анимации там нет. У меня также было, я чтобы такое поведение поправить, переходил на AnimatedList, тогда всё плавно. А пока это довольно критичный баг 0/1
  • Лендскейп-ориентация 2/2
  • Поддержка планшетов 2/2 (за формат master-details отдельный респект, там правда есть некоторые проблемки со сбросом полей, при добавлении новой задачи, но всё равно очень круто, что ты именно так этот критерий реализовал)
  • Remote configs + Crashlytics судя по коду всё должно работать без проблем 3/3
  • На счёт флейворов у меня есть к тебе вопрос. Дело в том, что когда я прогоняю те команды, которые ты в README указал, у меня что на телефоне, что на планшете приложение запускается в таком виде:
    image
    image
    Признаюсь, я не сильно разбирался почему так происходит. Потому что тестил всё по твоим релизам и там всё вроде как работает. Но так как эти команды тоже относятся к критерию, я пока склонен поставить половину баллов, но если ты пояснишь в чем дело, я оценку повышу. Вообще не исключено, что я в чём-то туплю, но делаю я всё как в readme) 1/2
  • Настроен CI на GitHub 4/4
  • Но вот не увидел в твоих workflow взаимодействия с App Distribution. Если ты реализовывал этот критерий, то поясни, пожалуйста, в каком виде. Потому что, как я понял, распространение через App Distribution у тебя должно быть в твой CI интегрировано, пока 0/2
  • Разное 2/2

Таким образом пока получается 22/26
В целом мне понравилась структура и уровень декомпозиции твоего кода. Хотел бы уточнить у тебя все моменты, которые под вопросом и поставить оценку повыше. Поэтому отпишись, пожалуйста, по вопросам здесь или лучше напрямую мне в тг: @Accordion_Palych. Удачи тебе в отборе на второй этап и успехов во Flutter!

Ревью ДЗ4

Привет!
Оценка работы по критериям:

1)Readme соответствует критериям +1 балл
2)flutter_lints: проверка dart analyze выдала 2200 игноров правил +0 баллов
3)форматирование кода присутствует + 2 балла
4)код разделен на слои + 2 балла
5)инкапсуляции навигации есть +1 балл
6)обрезка заметок по макету есть +1 балл
7)ночной тема есть +1 балл
8) анимация для добавления и редактирования заметок есть +1 балл
9)поддержка landscape-ориентации есть +2 балла
10)поддержка больших экранов есть +2 балла
11)работа с remote configs есть +2 балла
12)работа с firebase crachlitics есть +1 балл
13)работа с флейворами есть +2 балла
14)CI на github есть + 4 балла
15)работа с firebase app distribution есть + 2 балла
16)работа с firebase analytics есть + 1 балл
17)пакет freezed для дата-моделей используется + 1 баллов.
Итог: 22 балла

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.