Coder Social home page Coder Social logo

webant-app's Introduction

Screenshots

Тестовое задание Gallery.

Разработать мобильное приложение, которое соответствует следующим требованиям:

  1. Имеет splash screen с лого компании.
  2. Имеет экран приветствия.
  3. Имеет экран Входа.
  4. Имеет экран регистрации.
  5. Имеет табы с нижней навигацией.
  6. Первый таб содержит две вкладки New & Popular:
  7. Второй таб содержит создание фото и выгрузку его на бэк (теги делать не нужно). Нужно выводить сразу этот дизайн https://www.figma.com/file/U0oHcjTijoYRdTNJpI1blY/Тестовое-Gallery?node-id=761%3A886
  8. Третий таб содержит профиль(общее кол-во просмотров можно не делать, общее кол-во загруженных фото можно взять с поля “totalItems”, подгружать все загруженные фото с бэка для текущего юзера).
  9. Создать подробный экран просмотра фотографии.
  10. Сделать экран настройки профиля.
  11. Сделать экран профиля.
  12. Сделать поиск.
  13. Вывод кэшированных данных при отсутствии интернета (если есть, иначе плейсхолдер).
  14. Сделать смену пароля.
  15. Сделать диалог загрузки при действиях (например, при нажатии на выгрузку файла на бэк или изменении настроек профиля)

По коду:

  1. Придерживаться чистой архитектуры.
  2. Разбить модули по чистой архитектуре.
  3. Придерживаться принципам SOLID.
  4. Использовать паттерн проектирования bloc (от Феликса (https://pub.dev/packages/flutter_bloc)).
  5. Использовать di.
  6. Создать базовую обработку ошибок с бэка и вывод их в ui.
    • к 6 пункту выводить ошибки с бэка через диалоги (например создание фото, редактирование профиля).
  7. Сделать базовые блоки получения фотографий.
  8. Сделать базовую работу получения фотографий (абстракцию) .
  9. Кэшировать данные фотографий, которые получили с бэка (можно без фото, но остальные данные обязательно (название, описание и тд)), и юзера.
  10. Добавить локализацию.
  11. Валидаци инпутов через bloc.
  12. Сделать базовую обработку инпутов.
  13. Сделать базовую модель для пагинации.
  14. Использовать интерсептор.
  15. Создать и выносить ресурсы (например, строки, стили для текстов, ассеты).

P.S.

  • Загрузка фотографий имеет пагинацию. Приложение должно подгружать не сразу все изображения, а по 10 за один запрос. При прокрутке страницы до последнего видимого элемента должен отображаться ProgressBar и делаться новый запрос на получение следующей партии изображений.
  • При отсутствии интернета должна выводиться картинка об отсутствии интернет соединения (Пример имеется в дизайне).
  • Профиль и первый таб имеет PullRefresh: приложение очищает предыдущие данные и заново делает запрос.
  • При нажатии на изображение открывается экран подробной информации об изображении, где содержится само изображение, его название и описание. http://gallery.dev.webant.ru/api - апи для изображений https://www.figma.com/file/U0oHcjTijoYRdTNJpI1blY/Тестовое-Gallery?node-id=761%3A886 %D0%BE%D0%B2%D0%BE%D0%B5-Gallery?node-id=761%3A886 - figma Будут плюсом:
  • добавить теги (локально или через firebase)
  • добавить кол-во просмотров на фотографии (локально или через firebase)

Don't forget connect Firebase :)

webant-app's People

Contributors

samatzp avatar

Watchers

 avatar

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.