"warning":"The [main documentation](https://github.com/bakhirev/assayo/blob/main/documents/RU.md) is in russian. This is a translation. It may contain errors. If you a native speaker, you can help improve this translation. Thanks!"
},
{
"p":"Visualization and analysis of your git repository data ([demo](https://assayo.online/demo/?ref=github&lang=en&dump=./test.txt))."
},
{
"h5":"Employee can evaluate new workplace"
},
{
"li":[
"work speed;",
"number of extra hours worked;",
"areas of competence;",
"volume of features and bugs;",
"working style of colleagues;"
]
},
{
"h5":"Team lead can evaluate employees"
},
{
"li":[
"identify slackers;",
"estimate the amount of code;",
"learn the work speed;",
"notice behavioral anomalies;",
"see the dynamics of work by week;"
]
},
{
"h5":"Founder can evaluate product"
},
{
"li":[
"product cost;",
"cost of features;",
"development time;",
"forecast of rework time;",
"forecast cost;"
]
},
{
"h3":"Table of contents"
},
{
"h3":"How to quickly view the number of commits?"
},
{
"p":"In the root directory of your project, run:"
},
{
"pre":[
"git shortlog -s -n -e"
]
},
{
"h3":"How to concat authors?"
},
{
"p":"In the root directory of your project, you need to create a `.mailmap` file."
},
{
"p":"Example of the contents of the file:"
},
{
"pre":[
"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> <man64@yahoo.com>"
]
},
{
"p":"Read more about the format of this file you can [here](https://git-scm.com/docs/gitmailmap)."
"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"
]
},
{
"p":"Git will create a file `log.txt`."
},
{
"p":"This file contains data for show a report."
},
{
"p":"The difference between the online and offline format is the presence of a wrapper for strings. The offline format will be pulled up like a `js` file if you just opened `/build/index.html `"
},
{
"h3":"How to view the report?"
},
{
"h4":"Online"
},
{
"li":[
"go to the [website](https://assayo.online/);",
"click the “[Demo](https://assayo.online/demo)” button;",
"drag the `log.txt` file into the browser window;"
]
},
{
"h4":"Offline"
},
{
"li":[
"download this repository;",
"drag the `log.txt` file to the `/build` folder;",
"run `/build/index.html`;",
"or drag the `/build` folder to your repository (where the `log.txt` is located). You can change the name. For example, from `/build` to `/report`."
]
},
{
"p":" In this case, it is important that the `log.txt` file is generated by the command for offline viewing."
"h3":"How to view a report on a group of microservices?"
},
{
"li":[
"generate for each microservice file `log.txt` (`log-1.txt`, `log-2.txt`, `log-3.txt` and etc.) You can do this manually, or use the [Assayo Crawler](https://github.com/bakhirev/assayo-crawler) module for automatic log collection;",
"see “How to view an online report?”. At the last step, drag all the files at once into the browser window.",
"see “How to see a report offline?”. At the second step, drag all microservice files (`log-1.txt`, `log-2.txt`, `log-3.txt` and etc.) to the report folder (`/build`)."
]
},
{
"h3":"How to brand the interface?"
},
{
"p":"You can create your own interface theme. Options:"
},
{
"li":[
"**Title**. You can set default document title in the URL parameter ```title```. Example: ```?title=You Company```",
"**Visual theme**. To do this, you need to prepare a CSS file with new styles and specify its URL in the ```theme``` parameter. Example: ```?theme=//company.com/some.css```. You can use class names as selectors. Most of them do not change in new versions.",
"**Language**. You can set language in the URL parameter ```lang```. Example: ```?lang=es```"
]
},
{
"h3":"How to sign commits?"
},
{
"p":"Follow the [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/). Example:"
},
{
"pre":[
"JIRA-1234 feat(profile): Added avatar for user "
]
},
{
"li":[
"task number in the task tracker `(JIRA-1234)`",
"type of work `(feat, fix, style, refactor, test, doc и т.д.)`",
"feature `(profile - new page on site or new function, use one (two) short wordor an abbreviation)`",
"what problem were solved `(Added avatar for user)`"
]
},
{
"h3":"How to add checking for commit message?"
},
{
"h4":"Use file `commit-msg`"
},
{
"p":"1. Create file `commit-msg` in folder `.git/hooks/`"
"open `build/index.html` in the browser and add it to bookmarks;",
"add a shortcut to `build/assets/ci-cd.sh` to the startup folder (Windows);"
]
},
{
"p":" Every time you restart the computer, the script will update statistics on all the data that automatically merged into the main branch."
},
{
"h3":"DevOps (CI/CD)"
},
{
"h4":"Public server"
},
{
"p":"You can upload the data file for report construction to a public URL. And use the website’s [assayo](https://assayo.online/?ref=github&lang=en) to visualize it."
"p":"1. [Reports showcase UI](https://github.com/bakhirev/assayo-showcase) displays a list of available reports. Each report consists of a title, description, and a list of repositories."