assayo/README.md
2023-08-08 15:05:26 +03:00

115 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# [Assayo](https://assayo.jp/)
Визуализация и анализ данных вашего git-репозитория ([демо](https://assayo.jp/demo/?dump=./test.txt)).
##### Сотрудник может оценить новое место работы
- темп работы;
- количество переработок;
- зоны ответственности;
- объем фичей и багов;
- стиль работы коллег;
##### Руководитель может оценить сотрудников
- выявить бездельников;
- прикинуть обьём кода;
- узнать скорость работы;
- заметить аномалии поведения;
- посмотреть динамику работы по неделям;
##### Ивестор может оценить продукт
- стоимость продукта;
- стоимость фичей;
- время на разработку;
- прогноз времи доработок;
- прогноз стоимости;
### Как быстро посмотреть количество коммитов?
В корневой директории вашего проекта выполнить:
```
git shortlog -s -n -e
```
### Как обьединить авторов?
В корневой директории вашего проекта нужно создать файл `.mailmap`.
Пример содержания файла:
```
Alex B <alex@mail.uk>
Alex B <alex@mail.uk> <alex@gov.tk>
Alex B <alex@mail.uk> <bakhirev@ya.kz>
Alex B <alex@mail.uk> <super_man@yahoo.com>
```
Подробнее про формат этого файла можно прочитать [тут](https://git-scm.com/docs/gitmailmap).
### Как выгрузить данные из git?
В корневой директории вашего проекта выполнить:
```
git --no-pager log --numstat --oneline --all --reverse
--date=iso-strict --pretty=format:"%ad>%cN>%cE>%s"
| sed -e 's/\\/\\\\/g' | sed -e 's/`/"/g'
| sed -e 's/^/report.push(\`/g' | sed 's/$/\`\);/g'
| sed 's/\$/_/g' > log.txt
```
Git создаст файл `log.txt`.
Он содержит данные для построения отчёта.
### Как посмотреть отчёт онлайн?
- Перейти на [сайт](https://assayo.jp/)
- Нажать кнопку «[Демо](https://assayo.jp/demo)»
- Перетащить файл `log.txt` в окно браузера
### Как посмотреть отчёт офлайн?
- Скачать этот репозиторий
- Перетащить файл `log.txt` в папку `/build`
- Запустить `/build/index.html`
- Или перетащить папку `/build` к себе в репозиторий (туда, где лежит `log.txt`). Можно сменить название. Например с `/build` на `/report`
### Как пересобрать билд отчёта?
- Скачать этот репозиторий
- Выполнить `npm install`
- Выполнить `npm run build`
- Свежая сборка будет в папке `/build`
### Как посмотреть отчёт по группе микросервисов?
- Сгенерировать для каждого микросервиса `log.txt` (`log-1.txt`, `log-2.txt`, `log-3.txt` и т.д.)
- См. «Как посмотреть отчёт онлайн?». На последнем шаге перетащить сразу все файлы в окно браузера.
- См. «Как посмотреть отчёт офлайн?». На втором шаге перетащить все файлы микросервисов (`log-1.txt`, `log-2.txt`, `log-3.txt` и т.д.) в папку отчета (`/build`).
### Как подписывать коммиты?
Следуйте практике [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/). Например:
```
JIRA-1234 feat(profile): Added avatar for user
```
- номер задачи в таск трекере `(JIRA-1234)`
- тип работы `(feat, fix, style, refactor, test, doc и т.д.)`
- фича `(profile - раздел сайта, страница или новый функционал одним словом)`
- какую проблему решали `(Added avatar for user)`
### Как автоматизировать сбор данных (CI/CD)
#### Локально
- создайте клон нужного вам репозитория;
- скопируйте в корень папку `build`;
- откройте `build/index.html` в браузере и добавьте в закладки;
- добавьте ярлык на `build/assets/ci-cd.sh` в папку автозагрузки (Windows);
Каждый раз, при перезагрузке компьютера, скрипт будет обновлять статстику по всем данным, которые автоматически влились в основную ветку.
### RoadMap
Релизы, примерно, раз в полгода. Что дальше:
- больше советов и достижений;
- итоги года / месяца, печать отчётов;
- локализация и интернационализация;
- разные роли для статистики (скрытие финансов);
- разработка бекенда, интеграции с другими системами;
### Пожелания, предложения, замечания
- [alexey-bakhirev@yandex.ru](mailto:alexey-bakhirev@yandex.ru)
- telegramm [@bakhirev](https://t.me/bakhirev)
- сайт [https://assayo.jp/](https://assayo.jp/)