assayo/documents/PT.md
2024-10-21 16:51:40 +03:00

278 lines
21 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

> [English](https://github.com/bakhirev/assayo) | [Español](https://github.com/bakhirev/assayo/blob/main/documents/ES.md) | [中文](https://github.com/bakhirev/assayo/blob/main/documents/ZH.md) | [Français](https://github.com/bakhirev/assayo/blob/main/documents/FR.md) | [Deutsch](https://github.com/bakhirev/assayo/blob/main/documents/DE.md) | __[Português](https://github.com/bakhirev/assayo/blob/main/documents/PT.md)__ | [日本語](https://github.com/bakhirev/assayo/blob/main/documents/JA.md) | [Русский](https://github.com/bakhirev/assayo/blob/main/documents/RU.md)
> [Documentação básica](https://github.com/bakhirev/assayo/blob/main/documents/RU.md) em russo. É uma tradução. Pode conter erros. Se você é um falante nativo, você pode ajudar a melhorar esta tradução. Obrigado!
# [Assayo](https://assayo.online/?ref=github&lang=pt)
Visualização e análise de dados do seu repositório git. Performance tool for Team Lead and IT-audit
Links: [demo](https://assayo.online/demo/?ref=github&lang=pt&dump=./test.txt), [online version](https://assayo.online/demo/?ref=github), [docker](https://hub.docker.com/r/bakhirev/assayo), [reddit](https://www.reddit.com/r/ITManagers/comments/1e5k291/the_visualization_and_analysis_of_git_commit/), [habr](https://habr.com/ru/articles/763342/), [video](https://www.youtube.com/watch?v=mqfu-ea3jao).
<a href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/facebook.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://reddit.com/submit?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository" target="_blank"><img src="https://assayo.online/assets/seo/social/reddit.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="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"><img src="https://assayo.online/assets/seo/social/twitter.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/linkedin.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="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"><img src="https://assayo.online/assets/seo/social/tumblr.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="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"><img src="https://assayo.online/assets/seo/social/blogger.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="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"><img src="https://assayo.online/assets/seo/social/evernote.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="http://www.addthis.com/bookmark.php?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/add.this.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://getpocket.com/edit?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/getpocket.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&t=Visualization%20and%20analysis%20of%20git%20repository" target="_blank"><img src="https://assayo.online/assets/seo/social/hacker.news.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="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"><img src="https://assayo.online/assets/seo/social/buffer.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="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"><img src="https://assayo.online/assets/seo/social/flipboard.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="http://www.instapaper.com/edit?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository&description=Check%20your%20git%20stats%21" target="_blank"><img src="https://assayo.online/assets/seo/social/instapaper.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://share.diasporafoundation.org/?title=Visualization%20and%20analysis%20of%20git%20repository&url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/diaspora.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/qzone.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="http://vk.com/share.php?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository&comment=Check%20your%20git%20stats%21" target="_blank"><img src="https://assayo.online/assets/seo/social/vk.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="http://service.weibo.com/share/share.php?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&appkey=&title=Visualization%20and%20analysis%20of%20git%20repository&pic=&ralateUid=" target="_blank"><img src="https://assayo.online/assets/seo/social/weibo.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/ok.ru.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="http://www.douban.com/recommend/?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21" target="_blank"><img src="https://assayo.online/assets/seo/social/douban.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://www.xing.com/spi/shares/new?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/xing.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="http://widget.renren.com/dialog/share?resourceUrl=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&srcUrl=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21&description=Check%20your%20git%20stats%21" target="_blank"><img src="https://assayo.online/assets/seo/social/renren.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="threema://compose?text=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21&id=" target="_blank"><img src="https://assayo.online/assets/seo/social/threema.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://lineit.line.me/share/ui?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&text=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21" target="_blank"><img src="https://assayo.online/assets/seo/social/line.me.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a>
<a href="https://assayo.online/demo/?dump=./test.txt" target="_blank"><img src="https://assayo.online/assets/images/index.gif" width="100%" /></a>
<a name="link-0"></a>
##### 👨‍💻 Funcionario de avaliar o novo local de trabalho
- ritmo de trabalho;
- número de horas extras;
- áreas de responsabilidade;
- volume de novo funcionalidade e bugs;
- estilo de trabalho dos colegas;
<a name="link-1"></a>
##### ‍👨‍💼 O chefe pode avaliar os funcionários
- identificar os ociosos;
- estimar o volume do código;;
- descobrir a velocidade de trabalho;
- notar anomalias no comportamento;
- ver a dinâmica do trabalho por semanas;
<a name="link-2"></a>
##### 👑 O investidor pode avaliar o produto:
- o valor do produto;
- o custo do novo funcionalismo;
- tempo de desenvolvimento;
- Forecasting the time for improvements;
- previsão de custos;
<a name="link-3"></a>
### Table of contents
- [Como é rápido ver o número de commits?](#link-4)
- [How to create a local report with using library?](#link-5)
- [Como combinar os autores?](#link-6)
- [Como exportar dados do git? ](#link-7)
- [Para visualização online](#link-8)
- [Para ver sem internet](#link-9)
- [If you use PowerShell in Windows](#link-10)
- [Como ver o relatório?](#link-11)
- [Using website](#link-12)
- [Use the library NodeJS](#link-13)
- [Use the library PHP](#link-14)
- [Use the library Python](#link-15)
- [Use the library Ruby](#link-16)
- [Use source code](#link-17)
- [Como recompilar o arquivo do relatório?](#link-18)
- [Como visualizar o relatório do grupo de microserviços?](#link-19)
- [Como alterar as cores da interface para as cores da sua marca?](#link-20)
- [Como faço para assinar commits?](#link-21)
- [How to add checking for commit message?](#link-22)
- [ Use file commit-msg](#link-23)
- [ Use package pre-commit](#link-24)
- [Como automatizar a coleta de dados?](#link-25)
- [With backend](#link-26)
- [Sem backend](#link-27)
- [DevOps ](#link-28)
- [Servidor Público](#link-29)
- [Servidor Privado](#link-30)
- [Atualizar a imagem Docker](#link-31)
- [ About application](#link-32)
- [Architecture](#link-33)
- [Liberações, aproximadamente, uma vez por semestre. O que vem a seguir:](#link-34)
- [Como adicionar ou editar uma tradução?](#link-35)
- [Sugestões, sugestões, comentários](#link-36)
<a name="link-4"></a>
### 🚀 Como é rápido ver o número de commits?
No diretório raiz do seu projeto, execute o comando:
```
git shortlog -s -n -e
```
<a name="link-5"></a>
### 🏭 How to create a local report with using library?
NodeJS:
```
npx assayo
```
PHP:
```
composer require bakhirev/assayo
vendor/bin/assayo
```
Python:
```
pipx install assayo
assayo
```
Ruby:
```
gem install assayo
assayo
```
The script will create a folder `./assayo` with a report about repository:
```
./assayo/index.html - report
./assayo/log.txt - information from git
```
If you do not have NodeJS , see the items "How to download data from git?" and "How to view the report?"
<a name="link-6"></a>
### ‍🎭 Como combinar os autores?
É necessário criar um arquivo no diretório principal do seu projeto `.mailmap`.
Exemplo de conteúdo de arquivo:
```
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>
```
Pode ler mais sobre o formato deste arquivo em [aqui](https://git-scm.com/docs/gitmailmap).
<a name="link-7"></a>
### 📤 Como exportar dados do git?
<a name="link-8"></a>
#### Para visualização online
No diretório raiz do seu projeto executar:
```
git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%aN>%aE>%s" > log.txt
```
<a name="link-9"></a>
#### Para ver sem internet
```
git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%aN>%aE>%s" | sed -e 's/\\/\\\\/g' | sed -e 's/`/"/g' | sed -e 's/\$/S/g' | sed -e '1s/^/R(f\`/' | sed -e '$s/$/\`\);/' > log.txt
```
Git criar um ficheiro `log.txt`. Esse arquivo contém dados para construção de relatórios. A diferença entre os formatos está na existência de uma envoltória para as linhas. O formato sem internet será puxado como `js` o arquivo se você o abriu simplesmente `/build/index.html`
<a name="link-10"></a>
#### If you use PowerShell in Windows
By default, the output encoding may not match UTF-8 and the resulting log file will be unreadable. Before saving the log, you can change the encoding with the command.
```
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
```
Or open a saved file and manually change the encoding to UTF-8.
<a name="link-11"></a>
### 📈 Como ver o relatório?
<a name="link-12"></a>
#### Using website
- Ir para [site](https://assayo.online/)
- Pressione o botão “[Demonstração](https://assayo.online/demo?lang=ru)”
- Arrastar e largar `log.txt` na janela do navegador
<a name="link-13"></a>
#### Use the library NodeJS
- run `npx assayo`
- open `./assayo/index.html`
<a name="link-14"></a>
#### Use the library PHP
- run `composer require bakhirev/assayo`
- run `vendor/bin/assayo`
- open `./assayo/index.html`
<a name="link-15"></a>
#### Use the library Python
- run `pipx install assayo`
- run `assayo`
- open `./assayo/index.html`
<a name="link-16"></a>
#### Use the library Ruby
- run `gem install assayo`
- run `assayo`
- open `./assayo/index.html`
<a name="link-17"></a>
#### Use source code
- Baixar este repositório
- Arraste o arquivo `log.txt` para a pasta `/build`
- Lançar `/build/index.html`
- Ou arraste a pasta `/build` ir para o repositório (o lugar onde se encontra `log.txt`). Você pode mudar o nome. Por exemplo, do nome `/build` no título `/report`
É importante que o arquivo `log.txt` foi criado por uma equipe para navegar sem internet.
<a name="link-18"></a>
### 🏭 Como recompilar o arquivo do relatório?
- Baixar este repositório
- Executar `npm install`
- Executar `npm run build:local`
- A compilação mais recente estará na pasta `/build`
<a name="link-19"></a>
### 🗃️ Como visualizar o relatório do grupo de microserviços?
- Gerar um arquivo para cada microserviço `log.txt` (`log-1.txt`, `log-2.txt`, `log-3.txt` etc.)
- Veja “Como visualizar o relatório com a internet?”. No último passo, arraste todos os arquivos para a janela do navegador.
- Veja “Como visualizar o relatório sem a internet?”. No segundo passo, arraste todos os microserviços (`log-1.txt`, `log-2.txt`, `log-3.txt` etc.) na pasta relatório (`/build`).
<a name="link-20"></a>
### 🎨 Como alterar as cores da interface para as cores da sua marca?
Você pode escrever seu próprio tema de interface. Pode mudar:
- **Cabeçalho**. Você pode especificar em um parâmetro da URL ```title```. Por exemplo: ```?title=You Company```
- **CSS стили**. Para fazer isso, você precisa preparar um arquivo CSS e especificar o seu endereço no parâmetro da URL ```theme```. Por exemplo: ```?theme=//company.com/some.css```. Você pode usar os nomes das classes como seletores. A maioria deles não muda na saída de uma nova versão.
- **Idioma**. Você pode incluir em um parâmetro de URL. ```lang```. Por exemplo: ```?lang=es```
<a name="link-21"></a>
### 📝 Como faço para assinar commits?
Siga a prática [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/). Por exemplo:
```
JIRA-1234 feat(profile): Added avatar for user
```
- número da tarefa `(JIRA-1234)`
- tipo de trabalho `(feat, fix, style, refactor, test, doc etc.)`
- área de trabalho `(profile - Página)`
- descrição do trabalho `(Added avatar for user)`
<a name="link-22"></a>
### 👮 How to add checking for commit message?
<a name="link-23"></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
echo "Need commit message like: JIRA-12 fix(profile): some text. Read Semantic Commit Messages" >&2
exit 1
fi
```
<a name="link-24"></a>
#### Use package [pre-commit](https://www.npmjs.com/package/pre-commit)
1. Add in file `package.json` property `commit-msg`:
```
...
"commit-msg": {
"regex": "(JIRA-[0-9]{1,5})(\\s)(feat|fix|docs|style|refactor|test|chore)((\\([a-z0-9_-]{1,}\\)){0,})(:\\s)([a-z]{1,})",
"error-message": "Need commit message like: JIRA-12 fix(profile): some text Read Semantic Commit Messages"
},
...
```
2. Run command `npm install pre-commit`
<a name="link-25"></a>
### 📚 Como automatizar a coleta de dados?
<a name="link-26"></a>
#### With backend
- use module [Assayo Crawler](https://github.com/bakhirev/assayo-crawler);
<a name="link-27"></a>
#### Sem backend
- criar um clone do seu repositório;
- copie a pasta `build` do repositório atual;
- abrir `build/index.html` no navegador e adicionar aos favoritos;
- adicionar um shortcut na `build/assets/ci-cd.sh` na pasta de inicialização (Windows);
A cada reinício do computador, o script atualiza a estatística com todos os dados que sejam automaticamente incorporados na branch principal.
<a name="link-28"></a>
### 🛠️ DevOps (CI/CD)
<a name="link-29"></a>
#### Servidor Público
Você pode disponibilizar o arquivo com os dados para construção do relatório em um URL público. Para visualizá-lo, você pode usar um site [assayo](https://assayo.online/). Especifique o endereço onde os dados estão localizados no parâmetro de URL ```dump```:
```
https://assayo.online/demo/?dump=//you_site.com/some/log.txt
```
<a name="link-30"></a>
#### Servidor Privado
- baixar [docker imagem](https://hub.docker.com/r/bakhirev/assayo);
- execute-o na rede local;
- Para visualizar os relatórios, utilize a interface web, indicando-lhe o endereço em que os dados se encontram localizados através do parâmetro URL ```dump```:
```
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - O URL do endereço do container Assay, ele está escutando na porta 80;
you_url - O URL do seu container com os logs do git;
```
Por padrão, a imagem será iniciada no endereço ```http://127.0.0.1:80/```. Se você não conseguiu, verifique se a porta 80 está disponível no seu computador.
<a name="link-31"></a>
#### Atualizar a imagem Docker
- executar um comando ```npm run build:docker```
- executar um comando ```docker build -t assayo .```
- verificar o resultado ```docker run --name assayo -p 80:80 -d assayo```;
- executar um comando ```docker tag assayo bakhirev/assayo:latest```;
- enviar a imagem do container para o Docker Hub ```docker push bakhirev/assayo:latest```;
<a name="link-32"></a>
### 🛠️ About application
<a name="link-33"></a>
#### 📐 Architecture
<img src="https://raw.githubusercontent.com/bakhirev/assayo-crawler/12af4410fc93384cafb108a4429e43f9a874dbaa/schema.svg" width="70%" />
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.
2. [Crawler service](https://github.com/bakhirev/assayo-crawler) collects repository logs for the report.
3. [Log visualization UI](https://github.com/bakhirev/assayo) **(you here)** displays report. Needs a log file for work.
<a name="link-34"></a>
#### 🈯 Liberações, aproximadamente, uma vez por semestre. O que vem a seguir:
Vide [documentação básica](https://github.com/bakhirev/assayo/blob/main/documents/RU.md)
<a name="link-35"></a>
#### 🗺️ Como adicionar ou editar uma tradução?
Você pode adicionar uma nova tradução ou corrigir uma existente na seção ```ts/translations/```.
[Instrução](https://github.com/firstcontributions/first-contributions)
<a name="link-36"></a>
#### 📧 Sugestões, sugestões, comentários
- telegramm [@bakhirev](https://t.me/bakhirev) (método de comunicação prioritário)
- [alexey-bakhirev@yandex.ru](mailto:alexey-bakhirev@yandex.ru)
- site [https://assayo.online/](https://assayo.online/?ref=github&lang=pt)