Microservice calculating the maximum amount of payment
Для корректной развертки приложения и дальнейшей разработки необходимо клонировать его в по следующему пути
.../go/src/github.com/apmath-web/
Клонировать: git clone https://github.com/apmath-web/expenses
Для запуска необходимо запустить билд application.go
go build application.go
После этого надо запустить полученный бинарник application
Для прогона всех тестов воспользуйтесь go test ./... -cover -v
из корневого католога репозитория.
Большая просьба не добавлять следующие файлы в репозиторий:
- /idea
- application - бинарный файл
- разлиные настройки вашего окружения/системы
- кэш фалы тестов и сборок
- файлы базы данных
Более подробно можно прочесть: Что не стоит хранить в репозитории
Также просьба не использовать 'git push --force' если не знаете что это такое и не удалять чужие ветки, если в них ведется работа.
- Взять задачу:
Для этого необходимо выбрать одну из задач с label
approve
зайти в нее, прочитать, выбрать себя вAssignees
, добавить задачу в проект и текущий milestone. После этого у вас есть время до конца milestone для ее выполнения. Если по каким-то причинам задача не выполнена, то вы можете быть сняты с ее выполнения любым другим человеком. Запрещается брать задачи не помеченныеapprove
и задачи для которых не выполнены зависимости. - Начать разработку:
После того, как вы выбрали задачу, вы возращаетесь в свой репозиторий и переходите в ветку dev. Отэтой ветки вы создаете ветку под названием feature-
X
, X - номер вашей задачи и работаете в ней. Если на момент начала разработки некоторые зависмости находятся в состоянии UnderReview, то нужно сделать pull из соответствующей ветки. - Оформление pull request:
Когда сделан хотя бы один коммит стоит создать pull request(PR). В его офрмление входит то, что вы выбираете свою ветку как
compare, а ветку dev как base. Так же вы указываете себя в
Assignees
, добавляете PR в проект. После этого в заголовке PR записываете название задачи, а описание переносите список действий из issue с чекбоксами и пишите после этого фразуclose #X
, X - номер задачи. В процессе работы вы помечаете выполненные шаги в чекбоксах. - Завершение работы:
По окнчанию работы над задачей вы выбираете в PR label
ready
и выставляете в качестве reviewers @malinink или @levozavr. После этого можно выбирать следующую задачу.- Если PR принят, то все хорошо, можно удалить свою рабочую ветку feature-X
- Усли же нет, то в нем будут комметарии к ошибкам и будет снят label
ready
. После исправления ошибок повторно отмечаете reviewer и labelready
.
На данный момент в репозитории используется travis. В нем происходит сборка и тестирование кода. Если тесты не проходят, то такой PR не может быть принят. Так же в дальнейшем в нем будет производится и системное тестирование с помощью docker.
- ViewModels
- в данные модели преобразуется json из запроса.
- в них происходит валидация данных
- Validation
- харнение валидационных сообщений
- Converter
- преобразование между моделями
- Repository
- хранение моделей
- ApplicationModels
- внутренняя модель приложения
- данные полчаемые из базы данных преобразуются в эту модель