Giter VIP home page Giter VIP logo

forestvpn-test's Introduction

Тестовое задание на позицию Flutter разработчика

Задача

Нужно реализовать функциональность экранов: список новостей и просмотр одной новости

Функционал:

  1. При открытии страницы с новостями данные загружаются из подготовленного мокового репозитория
  2. На экране списка новостей должны показываться:
    • Карусель с Featured новостями (горизонтальный скролл)
    • Список Latest news c последними новостями (вертикальный скролл)
    • AppBar с кнопкой Mark all read
  3. Кнопка Mark all read при нажатии "читает все записи" помечает все записи, как прочтенные
  4. При нажатии на новость из Featured или Latest news списка должна открыться страница с подробностями новости (Страница одной новости)

Требования и примечания:

  1. Логика экранов должна быть организована при помощи BLoC. При отсутствии опыта работы с BLoC можно использовать наиболее знакомый вам стейт - менеджмент
  2. В lib/repositories/news есть подготовленные примеры Articles для отображения. Вы можете использовать их или сделать свои моки
  3. Верстка должна соотвествовать дизайну

Дополнительное задание:

  1. Дополнительным заданием будет возможность списка Featured превращаться, при скроле, в запись из Latest news. При прокрутке вверх Featured запись схлопывается до размеров новости из списка Latest news и уходит вместе с ними вверх. Это позволит дать пользователю больше пространства на экране для просмотра записей.

Как выполнять?

  1. Вы можете форкнуть этот репозиторий или клонировать к себе его код
  2. В lib/repositories/news есть моковые данные для подключения к экрану, можно использовать их или сделать свои
  3. После выполнения задания отправляйте ссылку на ваш репозиторий в телеграм frezyx или suquant

Ссылки

  1. Figma
  2. GitHub

forestvpn-test's People

Contributors

frezyx avatar orillio 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.