Git Product home page Git Product logo

simbirsoft-lessons's Introduction

Программа обучения Flutter-разработчика

Туториал по изучению теоретических материалов:
Обозначение Уровень важности
(****) Без изучения этого материала невозможно успешное прохождение темы
(***) Материал, без которого сложно успешно завершить изучение темы
(**) Важный материал, рекомендуемый к изучению
(*) Полезная литература, улучшающая навыки

Прохождение программы обучения

Программа обучения разделена на секции. Каждая секция состоит из

  • Теоретической части;
  • Практической части;
  • Теста;

Каждая секция начинается с выполнения практического задания. Теоретический материал изучается по мере необходимости для выполнения практики. После завершения практического задания необходимо в github создать merge request на ментора, чтобы он смог проверить задание. Если задание выполнено успешно, то ментор предоставляет тест по пройденной секции. Для успешного прохождения теста в большинстве случаев достаточно знаний, полученных в ходе выполнения практического задания и прочтения необходимой для него теории.

Стоит отметить, что ментор в силу различных обстоятельств не всегда может оперативно проверять merge request'ы и предоставлять тесты. Поэтому, если ментор вам говорит, что сможет проверить задание/предоставить тест только через несколько часов - приступайте к выполнению следующей секции программы обучения. Важно одновременно непроверенным может быть не более одной секции программы обучения. То есть, чтобы приступить к 5ой секции, Ваше практическое задание по 3ей секции должно быть одобрено, а тест пройден.

В случае возникновения вопросов во время выполнения практического задания, можно просить помощи у ментора. Однако не стоит подходить к ментору с недекомпозированной задачей из разряда "Я не понимаю, как сверстать экран". Декомпозируйте задачу, чтобы задать ментору более конкретный вопрос. Также не стоит сразу же спрашивать ментора, как только возникла трудность. Для начала попробуйте самостоятельно найти ответ на свой вопрос в интернете.


I. Основные принципы разработки. Git. Flow проектов


Теоретическая часть

1. ООП:

2. SOLID

3. Работа с Git, gitflow

4. Создание проекта, среда разработки Android Studio

5. Pub

Практическое задание

  1. В GitHub создать новый репозиторий и следуя инструкциям, склонировать его к себе на компьютер. В настройках репозитория дать доступ ментору.
  2. В глобальных конфигурациях git прописать корректное имя пользователя и e-mail, которые будут использоваться для подписи коммитов.
  3. Добавить .gitignore. Содержание файла можно взять с ресурса: flutter/flutter#13892. Cделать коммит и запушить изменения на remote-сервер в master ветку
  4. Переключиться на новую ветку develop.
  5. Создать новый flutter-проект.
  6. Добавить в pubspec-файл библиотеку retrofit https://pub.dev/packages/retrofit
  7. Запустить проект на телефоне/симуляторе
  8. Cделать коммит и запушить изменения на remote-сервер в develop ветку
  9. После завершения работ над задением отправить ментору количество затраченного времени на практическое выполнение задачи.

II. Верстка


Теоретическая часть

1. Верстка:

2. Полезные ресурсы

Практическое задание

Реализовать игру Quiz App. 10 вопросов, время на вопрос:

  • Легкий - 15 сек
  • Средний - 25 сек
  • Сложный - 35 сек
  1. Ознакомиться с макетом Quiz App: https://dribbble.com/shots/6508352-Quiz-App-UI-Oma
  2. Декомпозировать задачу верстки на виджеты, завести соответствующий чек-лист на карточке в Trello
  3. Выполнить верстку виджетов и экрана в соответствии с макетом
  4. Запустить проект на телефоне/симуляторе
  5. Следуя git flow закоммитить изменения на remote-сервер, создать MR, назначить его на ментора
  6. После завершения работ над задением отправить ментору количество затраченного времени на практическое выполнение задачи.

simbirsoft-lessons's People

Contributors

kolasikometov avatar matyushin avatar

Stargazers

 avatar  avatar

Watchers

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