Целью практической работы является приобретение навыков разработки программного обеспечения в команде, работающей над одним общим проектом с уже имеющейся кодовой базой, а так же приобретение опыта работы с сервисами непрерывной интеграции и проверки качества кода.
В рамках проектного практикума студент должен принять участие в разработке одного из проектов и выполнить не менее двух заданий. Проекты, в которых студент может принять участие, рекомендует руководитель лаборатории. Таким проектом может быть:
-
Собственный проект / стартап, так или иначе связанный с разработкой ПО для web.
-
Курсовая/дипломная работа, практическая её часть, связанная с разработкой ПО для web.
-
Один из проектов компании Flatstack.
За время практической работы над любым из проектов студент должен выполнить следующие шаги:
-
Создать аккаунты в GitHub и Pivotal Tracker (если таковых еще нет) и сообщить имя пользователя / адрес почты руководителю лаборатории используя HipChat.
-
Сделать форк репозитория проекта, убедиться что в личном аккаунте появился клон репозитория.
-
Склонировать и развернуть проект локально из репозитория-форка (инструкцию по развёртыванию и первоначальной настройке проекта можно найти в README в корне проекта), убедиться, что локально проект запускается, работает регистрация и аутентификацию пользователей, все тесты проходят успешно.
-
В трекере проекта выбрать задачу (самостоятельно, либо попросить руководителя лаборатории).
-
Задачу в трекере необходимо оценить по шкале "Числа Фибоначчи". О способах оценки можно почитать в справке трекера.
-
Создать в локальном репозитории отдельную ветку и приступить к выполнению задачи. Статус задачи поставить Started. Каждое значимое изменение необходимо фиксировать коммитом и регулярно делать push ветки в репозиторий. Перед коммитом необходимо запускать тесты, чтобы убедиться, что изменения не сломали уже существующий код и нет проблем с качеством кода.
-
Когда задача выполнена - поставить статус задачи Finished и создать Pull Request из ветки/репозитория вашего форка в репозиторий проекта. Ссылку на Pull Request отправить в HipChat руководителю лаборатории / остальным членам команды.
-
После того, как руководитель и еще минимум 1 человек из команды посмотрит PR и одобрит его будет выполнено слияние ветки с задачей с веткой master основного репозитория. После того, как master успешно пройдёт проверки на SemaphoreCI и деплой на сервер пройдёт успешно, необходимо убедиться, что на сервере выполненная задача работает корректно и выставить статус задачи Delivered.
-
Повторить цикл еще для 1..3 задач.