> 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!
<ahref="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/facebook.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="https://reddit.com/submit?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/reddit.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="https://twitter.com/intent/tweet?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&text=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21&via=&hashtags=IT%2Cgit%2Cstatistics%2Caudit%2Cdata-visualization%2Creport"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/twitter.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/linkedin.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="https://www.tumblr.com/widgets/share/tool?canonicalUrl=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository&caption=Check%20your%20git%20stats%21&tags=IT%2Cgit%2Cstatistics%2Caudit%2Cdata-visualization%2Creport"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/tumblr.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="https://www.blogger.com/blog-this.g?u=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&n=Visualization%20and%20analysis%20of%20git%20repository&t=Check%20your%20git%20stats%21"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/blogger.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="https://www.evernote.com/clip.action?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/evernote.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="http://www.addthis.com/bookmark.php?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/add.this.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="https://getpocket.com/edit?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/getpocket.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&t=Visualization%20and%20analysis%20of%20git%20repository"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/hacker.news.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="https://buffer.com/add?text=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21&url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/buffer.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="https://share.flipboard.com/bookmarklet/popout?v=2&title=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21&url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo"target="_blank"><imgsrc="https://assayo.online/assets/seo/social/flipboard.jpg"title="Visualization and analysis of git repository"width="24px"height="24px"/></a><ahref="http://www.instapaper.com/edit?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20g
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 will create a file `log.txt`.
This file contains data for show a report.
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 `
<aname="link-9"></a>
### 📈 How to view the report?
<aname="link-10"></a>
#### Online
- go to the [website](https://assayo.online/);
- click the “[Demo](https://assayo.online/demo?ref=github&lang=en)” button;
- drag the `log.txt` file into the browser window;
<aname="link-11"></a>
#### Offline
- 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`.
In this case, it is important that the `log.txt` file is generated by the command for offline viewing.
### 🗃️ How to view a report on a group of microservices?
- 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`).
<aname="link-14"></a>
### 🎨 How to brand the interface?
You can create your own interface theme. Options:
- **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```
<aname="link-15"></a>
### 📝 How to sign commits?
Follow the [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/). Example:
```
JIRA-1234 feat(profile): Added avatar for user
```
- 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)`
<aname="link-16"></a>
### 👮 How to add checking for commit message?
<aname="link-17"></a>
#### Use file `commit-msg`
1. Create file `commit-msg` in folder `.git/hooks/`
2. Add this text in file:
```
#!/usr/bin/env bash
if ! grep -iqE "(JIRA-[0-9]{1,5})(\s)(feat|fix|docs|style|refactor|test|chore)((\([a-z0-9_-]{1,}\)){0,})(:\s)([a-z]{1,})" "$1"; then
"error-message": "Need commit message like: JIRA-12 fix(profile): some text Read Semantic Commit Messages"
},
...
```
2. Run command `npm install pre-commit`
<aname="link-19"></a>
### 📚 How to automate data collection?
<aname="link-20"></a>
#### With backend
- use module [Assayo Crawler](https://github.com/bakhirev/assayo-crawler);
<aname="link-21"></a>
#### Without backend
- create a clone of the repository you need;
- copy the `build` folder to the root;
- 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);
Every time you restart the computer, the script will update statistics on all the data that automatically merged into the main branch.
<aname="link-22"></a>
### 🛠️ DevOps (CI/CD)
<aname="link-23"></a>
#### Public server
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.