Skip to content

Tefaier/flutter-kototinder

Repository files navigation

flutter_hw_kototinder

Приложение на flutter сделанное в рамках дз по курсу Flutter в МФТИ.
Автор: Белов Тимофей Николаевич, Б13-303 \

Описание

В рамках стандартного дз реализовано получение и отображение картинок котов с api thecatapi и использование их в окружении подобном тиндеру.
Есть возможность просматривания на отдельной странице своей истории лайков (не сохраняется при закрытии). Также включает удаление и фильтрацию.
Есть поддержка сохранения истории лайков и ее поддержание после закрытия приложения.
Также написаны тесты на data и domain части приложения.
Ссылка на build apk (от 01.05.2025) apk

Важные изменения

Исправлен баг на странице с детальным описанием (описание могло вылезать за карточку).
Загрузка изображений в кеш теперь делается через адекватные методы, как и задумывается в библиотеке.
Больше нет модалки, которая говорит об ошибке загрузки с api. Было решено оставить только всплывающее окно об отсутствии интернета.

Дополнительные возможности (не по ТЗ)

Написал тест на data часть (object box). Однако для его работы необходимо установить objectbox независимо от flutter проекта. Его можно просто игнорировать в ином случае.
Есть возможность сохранения темы (темная/светлая) между запусками приложения.
Игнорирование картинок с повторяющимся url. Их лайк/дизлайк повторный не будет сохранен.

Интерфейс

Описание возможностей приложения.
Главная страница

  1. Логотип
  2. Кнопка дизлайков и счетчик дизлайков
  3. Кнопка лайков и счетчик лайков
  4. Картинка с api (при клике открывается страница детального описания, может быть свайпнута в любую сторону, вправо - лайк, влево - дизлайк, иначе - просто замена, можно вернуть на изначальную позицию и отменить свайп, тип свайпа не может быть изменен после начала)
  5. Кнопка изменения светлой и темной темы
  6. Кнопки выбора api (работает, но было оставленно только одно api)
  7. Базовой описание полученное с api
  8. Кнопка перехода на страницу с историей лайков и дизлайков

Страница описания

  1. Полное изображение, которое было кликнуто
  2. При клике во вне модалка она закрывается
  3. Полное описание с api (не все поля с thecatapi отображаются)

Страница описания

  1. Текстовое поле с вводом фильтра (регистр не учитывается. Требуется, чтобы название породы содержало текст фильтра. Используется только первая порода, упомянутая в ответе api)
  2. Кнопка отчистки текстового поля
  3. Номер в списке после фильтрации (шрифт уменьшается при увеличении количества цифр)
  4. Кнопка с картинкой кота (при наведении есть подсветка)
  5. Лайк или дизлайк
  6. Порода (имеет максимальную длину и overflow)
  7. Время действия (только месяц, день, час, минута) (месяц и день добавлены с расчетом на дальнейшее сохранения истории на диск)
  8. Кнопка удаления записи (не вызывает скролл в начало)
  9. Кнопка закрытия страницы с историей
  10. Кнопка переключения отображения дизлайков
  11. Кнопка переключения отображения лайков

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages