From d49df6e60624f3b00c3489e114ad0b8b85525d94 Mon Sep 17 00:00:00 2001 From: Marciel Torres Date: Sat, 2 Mar 2024 11:10:02 -0300 Subject: [PATCH] Creating a ptbr readme --- README.PTBR.md | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 ++ 2 files changed, 99 insertions(+) create mode 100644 README.PTBR.md diff --git a/README.PTBR.md b/README.PTBR.md new file mode 100644 index 0000000..7d70d87 --- /dev/null +++ b/README.PTBR.md @@ -0,0 +1,97 @@ +# SafeChat Slack Bot [![codecov](https://codecov.io/gh/marcieltorres/safe-chat-slack-bot/graph/badge.svg?token=V0T0I3SI3P)](https://codecov.io/gh/marcieltorres/safe-chat-slack-bot) + +> [English](README.md) version. + +O SafeChat Slack Bot é um projeto open source desenvolvido para aumentar a segurança dos dados dentro dos espaços de trabalho do Slack. O principal objetivo do bot é fornecer alertas em tempo real aos usuários quando informações sensíveis, como CPF, endereços de e-mail e outros dados pessoais, são compartilhados nos canais do Slack. O Bot identifica e notifica os usuários sobre possíveis violações de dados, promovendo um ambiente de comunicação mais seguro no Slack. + +## Como SafeChat funciona + +*O SafeChat deve fazer parte do canal para poder mandar mensagens.* + +### Versão do bot interagindo em Português +![Bot working pt-br](.docs/print_bot_working_in_pt_br_language.png) + +### Versão do bot interagindo em Inglês +![Bot working en](.docs/print_bot_working_in_en_language.png) + +## Installando o bot no workspace + +### Criando um Slack App usando o arquivo manifest.json + +1. Abra o link https://api.slack.com/apps/new e escolha `From an app manifest` +2. Selecione o workspace que você deseja instalar a aplicação +3. Copie o conteúdo do arqwuivo `manifest.json` no campo que diz `Paste your manifest code here* (within the JSON tab)` e clique em Próximo +4. Revise as configurações e clique em `Create` +5. Clique em `Install to Workspace` e siga as instruções das próximas telas. Você será direcionado para a página `App Configuration dashboard`. + +### Gerando os tokens: SLACK_BOT_TOKEN e SLACK_APP_TOKEN + +1. Vá até as página de configuração do app e clique em `OAuth & Permissions` no menu esquerdo, então copie o `Bot User OAuth Token`. Esse token deverá ser armazenado como valor da variável de ambiente `SLACK_BOT_TOKEN`. +2. Clique em `Basic Information` no menu lateral e siga os passos na seção `App-Level Tokens` para criar o `app-level token` com o `scope` `connections:write`. Esse token deverá ser armazenado como valor da variável de ambiente `SLACK_APP_TOKEN`. + +## Tecnologia e recursos utilizados + +- [Python 3.11](https://www.python.org/downloads/release/python-3110/) - **pré-requisito** +- [Docker](https://www.docker.com/get-started) - **pré-requisito** +- [Docker Compose](https://docs.docker.com/compose/) - **pré-requisito** +- [Poetry](https://python-poetry.org/) - **pré-requisito** +- [Ruff](https://github.com/astral-sh/ruff) +- [Slack Bolt](https://pypi.org/project/slack-bolt/) +- [i18n](https://docs.python.org/3/library/i18n.html) + +*Por favor, preste atenção nos **pré-requisitos** que você deverá instalar/configurar.* + +## Como instalar, rodar e testar a aplicação + +### Variáveis de ambiente + +Variable | Description | Available Values | Default Value | Required +--- | --- | --- | --- | --- +ENV | O ambiente da aplicacão | `dev / test / qa / prod` | `dev` | Sim +PYTHONPATH | Guia para o python interpretar os pacotes da aplicação e dependências | [ref](https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH) | `.` | Sim +LANGUAGE | O idioma que o Bot irá interagir | `en / pt_BR` | `pt_BR` | Sim +SLACK_BOT_TOKEN | O `bot token` gerado após a instalação do app | `um token válido` | `-` | Sim +SLACK_APP_TOKEN | O `app token` gerado após a instalação do app | `um token válido` | `-` | Sim + +*Nota: Quando você rodar o comando install (usando docker ou localmente), um arquivo .env será criado automaticamente baseado no arquivo [env.template](env.template)* + +Command | Docker | Locally | Description +---- | ------- | ------- | ------- +install | `make docker/install` | `make local/install` | Para instalar o projeto +tests | `make docker/tests` | `make local/tests` | Para rodar os testes da aplicação (com coverage) +lint | `make docker/lint` | `make local/lint` | Para rodar análises estáticas do código usando `ruff` +lint/fix | `make docker/lint/fix` | `make local/lint/fix` | Para corrigir os arquivos após a análise estática +run | `make docker/run` | `make local/run` | Para rodar a aplicação + +*Confira todos os comandos disponíveis no arquivo [Makefile](Makefile)*. + +## Múltiplos Idioma + +O Bot consegue interagir com outros idiomas além do Português utilizando o padrão [i18n](https://docs.python.org/3/library/i18n.html). + +Estrutura de arquivos e pastas: +``` +├─ src +│  ├─ locales +│  │  └─ en +│  │   └─ LC_MESSAGES +│  │   └─ base.po +│  │  └─ pt_BR +│  │   └─ LC_MESSAGES +│  │   └─ base.po +``` + +### Como adicionar um novo idioma + +1) Crie um novo diretório em `src/locales` com o novo idioma; +2) Cria um novo arquivo chamado `base.po` nesse novo diretóprio (você pode copiar a estrutura de outro idioma já suportado); +3) Faça a tradução de todas as mensagens; +4) Crie os arquivos `mo` usando o comando `make generate-mo-files`. + +## Logging + +Esse projeto usa uma maneira muito simples para configurar os logs com o arquivo [logging.conf](logging.conf). + +## Settings + +É possível gerenciar as configurações estáticas do projeto com o arquivo [settings.conf](settings.conf) através da [classe de configuração](./src/config/settings.py) com recursos do [ConfigParser](https://docs.python.org/3/library/configparser.html). diff --git a/README.md b/README.md index e45b08b..c72388f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # SafeChat Slack Bot [![codecov](https://codecov.io/gh/marcieltorres/safe-chat-slack-bot/graph/badge.svg?token=V0T0I3SI3P)](https://codecov.io/gh/marcieltorres/safe-chat-slack-bot) +> Readme em [Português - PTBR](README.PTBR.md). + SafeChat Slack Bot is an open-source project designed to enhance data security within Slack workspaces. The bot's primary objective is to provide real-time alerts to users when sensitive information such as CPF (Brazilian taxpayer registry identification), email addresses, and other personally identifiable information (PII) are shared within Slack channels. SafeChat Slack Bot identifies and notifies users about potential data breaches, promoting a safer and more secure communication environment within Slack. ## How SafeChat works