diff --git a/docs/README.md b/docs/README.md index cc26834..b4b0556 100644 --- a/docs/README.md +++ b/docs/README.md @@ -39,11 +39,11 @@ flowchart LR | Repositório | Descrição | Tecnologia | |-------------|-----------|------------| -| [govbrnews-scraper](https://github.com/destaquesgovbr/govbrnews-scraper) | Scraper + Pipeline de dados | Python/Poetry | -| [destaquesgovbr-portal](https://github.com/destaquesgovbr/destaquesgovbr-portal) | Portal web principal | Next.js 15 | -| [destaquesgovbr-infra](https://github.com/destaquesgovbr/destaquesgovbr-infra) | Infraestrutura como código | Terraform/GCP | -| [destaquesgovbr-typesense](https://github.com/destaquesgovbr/destaquesgovbr-typesense) | Typesense para dev local | Docker | -| [destaquesgovbr-agencies](https://github.com/destaquesgovbr/destaquesgovbr-agencies) | Dados dos órgãos | YAML | +| [scraper](https://github.com/destaquesgovbr/scraper) | Scraper + Pipeline de dados | Python/Poetry | +| [portal](https://github.com/destaquesgovbr/portal) | Portal web principal | Next.js 15 | +| [infra](https://github.com/destaquesgovbr/infra) | Infraestrutura como código | Terraform/GCP | +| [typesense](https://github.com/destaquesgovbr/typesense) | Typesense para dev local | Docker | +| [agencies](https://github.com/destaquesgovbr/agencies) | Dados dos órgãos | YAML | ## Estrutura da Documentação @@ -60,7 +60,7 @@ docs/ ## Recursos Externos -- **Portal (Preview)**: [destaquesgovbr-portal](https://destaquesgovbr-portal-klvx64dufq-rj.a.run.app/) *(URL provisória)* +- **Portal (Preview)**: [portal](https://portal-klvx64dufq-rj.a.run.app/) *(URL provisória)* - **Dataset Principal**: [nitaibezerra/govbrnews](https://huggingface.co/datasets/nitaibezerra/govbrnews) - **Dataset Reduzido**: [nitaibezerra/govbrnews-reduced](https://huggingface.co/datasets/nitaibezerra/govbrnews-reduced) - **Organização GitHub**: [github.com/destaquesgovbr](https://github.com/destaquesgovbr) diff --git a/docs/arquitetura/componentes-estruturantes.md b/docs/arquitetura/componentes-estruturantes.md index 60db94c..862457d 100644 --- a/docs/arquitetura/componentes-estruturantes.md +++ b/docs/arquitetura/componentes-estruturantes.md @@ -58,8 +58,8 @@ A árvore temática está duplicada em dois repositórios (sincronização manua | Repositório | Arquivo | Formato | |-------------|---------|---------| -| govbrnews-scraper | `src/enrichment/themes_tree.yaml` | YAML plano | -| destaquesgovbr-portal | `src/lib/themes.yaml` | YAML estruturado | +| scraper | `src/enrichment/themes_tree.yaml` | YAML plano | +| portal | `src/lib/themes.yaml` | YAML estruturado | #### Formato no Scraper (`themes_tree.yaml`) ```yaml @@ -124,11 +124,11 @@ Cada órgão possui: | Repositório | Arquivo | Conteúdo | |-------------|---------|----------| -| destaquesgovbr-agencies | `agencies.yaml` | Dados dos 156 órgãos | -| destaquesgovbr-agencies | `hierarchy.yaml` | Árvore hierárquica | -| destaquesgovbr-portal | `src/lib/agencies.yaml` | Cópia (sincronização manual) | -| govbrnews-scraper | `src/scraper/agencies.yaml` | Mapeamento ID → Nome | -| govbrnews-scraper | `src/scraper/site_urls.yaml` | URLs de raspagem | +| agencies | `agencies.yaml` | Dados dos 156 órgãos | +| agencies | `hierarchy.yaml` | Árvore hierárquica | +| portal | `src/lib/agencies.yaml` | Cópia (sincronização manual) | +| scraper | `src/scraper/agencies.yaml` | Mapeamento ID → Nome | +| scraper | `src/scraper/site_urls.yaml` | URLs de raspagem | ### Exemplo de Entrada @@ -186,7 +186,7 @@ presidencia: Automatizar sincronização: -1. Editar apenas em `destaquesgovbr-agencies` +1. Editar apenas em `agencies` 2. GitHub Action publica automaticamente no scraper e portal 3. Possível interface web para gestão @@ -339,6 +339,6 @@ themes_tree.yaml → Cópia manual → portal/themes.yaml ### Futuro (Automatizado) ``` -destaquesgovbr-agencies → GitHub Action → portal + scraper +agencies → GitHub Action → portal + scraper destaquesgovbr-themes → GitHub Action → portal + scraper ``` diff --git a/docs/arquitetura/visao-geral.md b/docs/arquitetura/visao-geral.md index 8696596..0ff26bc 100644 --- a/docs/arquitetura/visao-geral.md +++ b/docs/arquitetura/visao-geral.md @@ -58,7 +58,7 @@ flowchart TB ## Componentes por Camada -### 1. Coleta (`govbrnews-scraper`) +### 1. Coleta (`scraper`) | Componente | Arquivo | Responsabilidade | |------------|---------|------------------| @@ -86,7 +86,7 @@ flowchart TB | `category` | Categoria original do site | | `tags` | Tags/keywords do site | -### 2. Enriquecimento (`govbrnews-scraper` + Cogfy) +### 2. Enriquecimento (`scraper` + Cogfy) | Componente | Arquivo | Responsabilidade | |------------|---------|------------------| @@ -125,7 +125,7 @@ Configurado para: | App | Tecnologia | URL | |-----|------------|-----| -| Portal | Next.js 15 + Typesense | [destaquesgovbr-portal](https://destaquesgovbr-portal-klvx64dufq-rj.a.run.app/) *(provisória)* | +| Portal | Next.js 15 + Typesense | [portal](https://portal-klvx64dufq-rj.a.run.app/) *(provisória)* | | Streamlit | Python + Altair | [HuggingFace Spaces](https://huggingface.co/spaces/nitaibezerra/govbrnews) | ## Fluxo de Dados Diário diff --git a/docs/index.md b/docs/index.md index 1e1160b..3171c0d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -47,7 +47,7 @@ flowchart LR **Para criar sua Dev VM:** -1. Clone o repo [destaquesgovbr-infra](https://github.com/destaquesgovbr/destaquesgovbr-infra) +1. Clone o repo [infra](https://github.com/destaquesgovbr/infra) 2. Adicione sua configuração em `terraform/terraform.tfvars` 3. Abra um PR e aguarde o merge @@ -70,15 +70,15 @@ flowchart LR | Repositório | Descrição | Tecnologia | |-------------|-----------|------------| -| [govbrnews-scraper](https://github.com/destaquesgovbr/govbrnews-scraper) | Scraper + Pipeline de dados | Python/Poetry | -| [destaquesgovbr-portal](https://github.com/destaquesgovbr/destaquesgovbr-portal) | Portal web principal | Next.js 15 | -| [destaquesgovbr-infra](https://github.com/destaquesgovbr/destaquesgovbr-infra) | Infraestrutura como código | Terraform/GCP | -| [destaquesgovbr-typesense](https://github.com/destaquesgovbr/destaquesgovbr-typesense) | Typesense para dev local | Docker | -| [destaquesgovbr-agencies](https://github.com/destaquesgovbr/destaquesgovbr-agencies) | Dados dos órgãos | YAML | +| [scraper](https://github.com/destaquesgovbr/scraper) | Scraper + Pipeline de dados | Python/Poetry | +| [portal](https://github.com/destaquesgovbr/portal) | Portal web principal | Next.js 15 | +| [infra](https://github.com/destaquesgovbr/infra) | Infraestrutura como código | Terraform/GCP | +| [typesense](https://github.com/destaquesgovbr/typesense) | Typesense para dev local | Docker | +| [agencies](https://github.com/destaquesgovbr/agencies) | Dados dos órgãos | YAML | ## Recursos Externos -- **Portal (Preview)**: [destaquesgovbr-portal](https://destaquesgovbr-portal-klvx64dufq-rj.a.run.app/) *(URL provisória)* +- **Portal (Preview)**: [portal](https://portal-klvx64dufq-rj.a.run.app/) *(URL provisória)* - **Dataset Principal**: [nitaibezerra/govbrnews](https://huggingface.co/datasets/nitaibezerra/govbrnews) - **Dataset Reduzido**: [nitaibezerra/govbrnews-reduced](https://huggingface.co/datasets/nitaibezerra/govbrnews-reduced) - **Organização GitHub**: [github.com/destaquesgovbr](https://github.com/destaquesgovbr) diff --git a/docs/infraestrutura/arquitetura-gcp.md b/docs/infraestrutura/arquitetura-gcp.md index 6ec5e8f..63f1c44 100644 --- a/docs/infraestrutura/arquitetura-gcp.md +++ b/docs/infraestrutura/arquitetura-gcp.md @@ -2,7 +2,7 @@ > Infraestrutura do DestaquesGovbr no Google Cloud Platform. -**Repositório**: [github.com/destaquesgovbr/destaquesgovbr-infra](https://github.com/destaquesgovbr/destaquesgovbr-infra) (privado) +**Repositório**: [github.com/destaquesgovbr/infra](https://github.com/destaquesgovbr/infra) (privado) ## Visão Geral @@ -50,7 +50,7 @@ flowchart TB | Propriedade | Valor | |-------------|-------| -| Serviço | `destaquesgovbr-portal` | +| Serviço | `portal` | | Região | `us-east1` | | CPU | 1 | | Memória | 512Mi | @@ -204,13 +204,13 @@ curl http://localhost:8108/health ```bash # Status do serviço -gcloud run services describe destaquesgovbr-portal --region=us-east1 +gcloud run services describe portal --region=us-east1 # Logs -gcloud run services logs read destaquesgovbr-portal --region=us-east1 +gcloud run services logs read portal --region=us-east1 # Métricas (via Console) -# Console > Cloud Run > destaquesgovbr-portal > Metrics +# Console > Cloud Run > portal > Metrics ``` ### Compute Engine diff --git a/docs/infraestrutura/devvm.md b/docs/infraestrutura/devvm.md index eb19f1a..30341f0 100644 --- a/docs/infraestrutura/devvm.md +++ b/docs/infraestrutura/devvm.md @@ -2,7 +2,7 @@ > Ambientes de desenvolvimento isolados no GCP para a equipe. -**Repositório**: [github.com/destaquesgovbr/destaquesgovbr-infra](https://github.com/destaquesgovbr/destaquesgovbr-infra) (privado) +**Repositório**: [github.com/destaquesgovbr/infra](https://github.com/destaquesgovbr/infra) (privado) ## Visão Geral @@ -69,8 +69,8 @@ flowchart TB ### Passo 1: Clone o Repositório ```bash -git clone https://github.com/destaquesgovbr/destaquesgovbr-infra.git -cd destaquesgovbr-infra +git clone https://github.com/destaquesgovbr/infra.git +cd infra ``` ### Passo 2: Crie uma Branch @@ -196,7 +196,7 @@ mkdir -p /mnt/data/projects cd /mnt/data/projects # Clonar repositórios -git clone https://github.com/destaquesgovbr/govbrnews-scraper.git +git clone https://github.com/destaquesgovbr/scraper.git ``` !!! warning "Importante" diff --git a/docs/infraestrutura/secrets-iam.md b/docs/infraestrutura/secrets-iam.md index 35c58e8..d34d21c 100644 --- a/docs/infraestrutura/secrets-iam.md +++ b/docs/infraestrutura/secrets-iam.md @@ -224,7 +224,7 @@ resource "google_service_account_iam_binding" "workload_identity" { role = "roles/iam.workloadIdentityUser" members = [ - "principalSet://iam.googleapis.com/${google_iam_workload_identity_pool.github.name}/attribute.repository/destaquesgovbr/destaquesgovbr-portal" + "principalSet://iam.googleapis.com/${google_iam_workload_identity_pool.github.name}/attribute.repository/destaquesgovbr/portal" ] } ``` @@ -254,7 +254,7 @@ gh secret set WIF_SERVICE_ACCOUNT --body "github-actions@project.iam.gserviceacc ### Secrets por Repositório -#### `destaquesgovbr-portal` +#### `portal` | Secret | Descrição | |--------|-----------| @@ -265,7 +265,7 @@ gh secret set WIF_SERVICE_ACCOUNT --body "github-actions@project.iam.gserviceacc | `TYPESENSE_PORT` | Porta (8108) | | `TYPESENSE_API_KEY` | API Key do Typesense | -#### `govbrnews-scraper` +#### `scraper` | Secret | Descrição | |--------|-----------| @@ -273,7 +273,7 @@ gh secret set WIF_SERVICE_ACCOUNT --body "github-actions@project.iam.gserviceacc | `COGFY_API_KEY` | API Key do Cogfy | | `COGFY_COLLECTION_ID` | ID da collection Cogfy | -#### `destaquesgovbr-infra` +#### `infra` | Secret | Descrição | |--------|-----------| diff --git a/docs/infraestrutura/terraform-guide.md b/docs/infraestrutura/terraform-guide.md index f67aac1..3b5e892 100644 --- a/docs/infraestrutura/terraform-guide.md +++ b/docs/infraestrutura/terraform-guide.md @@ -2,14 +2,14 @@ > Como gerenciar a infraestrutura GCP com Terraform. -**Repositório**: [github.com/destaquesgovbr/destaquesgovbr-infra](https://github.com/destaquesgovbr/destaquesgovbr-infra) (privado) +**Repositório**: [github.com/destaquesgovbr/infra](https://github.com/destaquesgovbr/infra) (privado) ## Visão Geral A infraestrutura é gerenciada como código (IaC) usando Terraform: ``` -destaquesgovbr-infra/ +infra/ ├── terraform/ │ ├── main.tf # Provider e networking │ ├── variables.tf # Variáveis de entrada @@ -68,7 +68,7 @@ zone = "us-east1-b" # GitHub (para Workload Identity) github_org = "destaquesgovbr" -github_repo = "destaquesgovbr-portal" +github_repo = "portal" ``` ### 3. Inicializar Terraform @@ -171,7 +171,7 @@ resource "google_compute_firewall" "typesense" { ```hcl resource "google_cloud_run_v2_service" "portal" { - name = "destaquesgovbr-portal" + name = "portal" location = var.region template { diff --git a/docs/modulos/agencies.md b/docs/modulos/agencies.md index 1ca0ba3..576d152 100644 --- a/docs/modulos/agencies.md +++ b/docs/modulos/agencies.md @@ -1,12 +1,12 @@ -# Módulo: Agencies (destaquesgovbr-agencies) +# Módulo: Agencies (agencies) > Catálogo centralizado de órgãos governamentais. -**Repositório**: [github.com/destaquesgovbr/destaquesgovbr-agencies](https://github.com/destaquesgovbr/destaquesgovbr-agencies) +**Repositório**: [github.com/destaquesgovbr/agencies](https://github.com/destaquesgovbr/agencies) ## Visão Geral -O repositório `destaquesgovbr-agencies` é a **fonte centralizada** de dados sobre os órgãos governamentais do Brasil, contendo: +O repositório `agencies` é a **fonte centralizada** de dados sobre os órgãos governamentais do Brasil, contendo: - **156 órgãos** catalogados - **29 tipos** diferentes (Ministério, Agência, Instituto, etc.) @@ -14,8 +14,8 @@ O repositório `destaquesgovbr-agencies` é a **fonte centralizada** de dados so ```mermaid flowchart TB - AG[destaquesgovbr-agencies] -->|Sincronização| SC[govbrnews-scraper] - AG -->|Sincronização| PO[destaquesgovbr-portal] + AG[agencies] -->|Sincronização| SC[scraper] + AG -->|Sincronização| PO[portal] subgraph "Arquivos" AG --> A1[agencies.yaml] @@ -28,7 +28,7 @@ flowchart TB ## Estrutura do Repositório ``` -destaquesgovbr-agencies/ +agencies/ ├── agencies.yaml # Dados completos dos órgãos ├── hierarchy.yaml # Árvore hierárquica └── README.md @@ -182,7 +182,7 @@ O scraper usa os dados para: - Mapear **IDs para nomes** completos ```python -# govbrnews-scraper/src/scraper/agencies.yaml +# scraper/src/scraper/agencies.yaml agencies: gestao: Ministério da Gestão e da Inovação em Serviços Públicos ``` @@ -196,7 +196,7 @@ O portal usa para: - **Navegação** hierárquica ```yaml -# destaquesgovbr-portal/src/lib/agencies.yaml +# portal/src/lib/agencies.yaml sources: gestao: name: Ministério da Gestão... @@ -229,9 +229,9 @@ flowchart LR ``` **Processo:** -1. Editar `destaquesgovbr-agencies/agencies.yaml` -2. Copiar manualmente para `govbrnews-scraper` -3. Copiar manualmente para `destaquesgovbr-portal` +1. Editar `agencies/agencies.yaml` +2. Copiar manualmente para `scraper` +3. Copiar manualmente para `portal` 4. Atualizar `site_urls.yaml` se necessário ### Situação Futura (Automática) @@ -243,7 +243,7 @@ flowchart LR ``` **Meta:** -- Push em `destaquesgovbr-agencies` dispara workflow +- Push em `agencies` dispara workflow - Workflow atualiza automaticamente scraper e portal - PRs automáticos ou commits diretos @@ -275,10 +275,10 @@ orgao-pai: ```bash # Copiar para scraper -cp agencies.yaml ../govbrnews-scraper/src/scraper/agencies.yaml +cp agencies.yaml ../scraper/src/scraper/agencies.yaml # Copiar para portal -cp agencies.yaml ../destaquesgovbr-portal/src/lib/agencies.yaml +cp agencies.yaml ../portal/src/lib/agencies.yaml # Atualizar site_urls.yaml no scraper ``` diff --git a/docs/modulos/arvore-tematica.md b/docs/modulos/arvore-tematica.md index d05025a..4cf2e13 100644 --- a/docs/modulos/arvore-tematica.md +++ b/docs/modulos/arvore-tematica.md @@ -93,13 +93,13 @@ Nível 1 (Tema) → Nível 2 (Subtema) → Nível 3 (Tópico) | Repositório | Arquivo | Formato | |-------------|---------|---------| -| govbrnews-scraper | `src/enrichment/themes_tree.yaml` | YAML plano | -| destaquesgovbr-portal | `src/lib/themes.yaml` | YAML estruturado | +| scraper | `src/enrichment/themes_tree.yaml` | YAML plano | +| portal | `src/lib/themes.yaml` | YAML estruturado | ### Formato no Scraper ```yaml -# govbrnews-scraper/src/enrichment/themes_tree.yaml +# scraper/src/enrichment/themes_tree.yaml 01 - Economia e Finanças: 01.01 - Política Econômica: - 01.01.01 - Política Fiscal @@ -118,7 +118,7 @@ Nível 1 (Tema) → Nível 2 (Subtema) → Nível 3 (Tópico) ### Formato no Portal ```yaml -# destaquesgovbr-portal/src/lib/themes.yaml +# portal/src/lib/themes.yaml themes: - label: Economia e Finanças code: "01" @@ -251,8 +251,8 @@ flowchart LR ### 3. Atualizar arquivos -1. Editar `govbrnews-scraper/src/enrichment/themes_tree.yaml` -2. Editar `destaquesgovbr-portal/src/lib/themes.yaml` +1. Editar `scraper/src/enrichment/themes_tree.yaml` +2. Editar `portal/src/lib/themes.yaml` 3. Atualizar configuração no Cogfy (via interface web) ### 4. Testar diff --git a/docs/modulos/portal.md b/docs/modulos/portal.md index 5163371..b43f238 100644 --- a/docs/modulos/portal.md +++ b/docs/modulos/portal.md @@ -1,8 +1,8 @@ -# Módulo: Portal (destaquesgovbr-portal) +# Módulo: Portal (portal) > Portal web para busca e navegação de notícias governamentais. -**Repositório**: [github.com/destaquesgovbr/destaquesgovbr-portal](https://github.com/destaquesgovbr/destaquesgovbr-portal) +**Repositório**: [github.com/destaquesgovbr/portal](https://github.com/destaquesgovbr/portal) **URL Produção**: [destaquesgovbr-portal-klvx64dufq-rj.a.run.app](https://destaquesgovbr-portal-klvx64dufq-rj.a.run.app/) _(URL provisória - Cloud Run/GCP)_ @@ -42,7 +42,7 @@ flowchart LR ## Estrutura do Repositório ``` -destaquesgovbr-portal/ +portal/ ├── src/ │ ├── app/ # App Router (Next.js 15) │ │ ├── page.tsx # Homepage @@ -437,15 +437,15 @@ Push para `main` → Deploy automático via `deploy-production.yml` ```bash # Build Docker -docker build -t destaquesgovbr-portal . +docker build -t portal . # Push para Artifact Registry -docker tag destaquesgovbr-portal gcr.io/PROJECT_ID/destaquesgovbr-portal -docker push gcr.io/PROJECT_ID/destaquesgovbr-portal +docker tag portal gcr.io/PROJECT_ID/portal +docker push gcr.io/PROJECT_ID/portal # Deploy Cloud Run -gcloud run deploy destaquesgovbr-portal \ - --image gcr.io/PROJECT_ID/destaquesgovbr-portal \ +gcloud run deploy portal \ + --image gcr.io/PROJECT_ID/portal \ --region us-east1 ``` diff --git a/docs/modulos/scraper.md b/docs/modulos/scraper.md index e097692..28dab87 100644 --- a/docs/modulos/scraper.md +++ b/docs/modulos/scraper.md @@ -1,8 +1,8 @@ -# Módulo: Scraper (govbrnews-scraper) +# Módulo: Scraper (scraper) > Pipeline de coleta e enriquecimento de notícias governamentais. -**Repositório**: [github.com/destaquesgovbr/govbrnews-scraper](https://github.com/destaquesgovbr/govbrnews-scraper) +**Repositório**: [github.com/destaquesgovbr/scraper](https://github.com/destaquesgovbr/scraper) ## Visão Geral @@ -40,7 +40,7 @@ flowchart LR ## Estrutura do Repositório ``` -govbrnews-scraper/ +scraper/ ├── src/ │ ├── main.py # CLI principal (Typer) │ ├── dataset_manager.py # Gerenciador HuggingFace @@ -426,10 +426,10 @@ poetry run pytest tests/integration/ -v ```bash # Build -docker build -t govbrnews-scraper . +docker build -t scraper . # Executar -docker run --env-file .env govbrnews-scraper \ +docker run --env-file .env scraper \ python src/main.py scrape --start-date 2024-12-01 --end-date 2024-12-01 ``` diff --git a/docs/modulos/typesense-local.md b/docs/modulos/typesense-local.md index 1e24ab9..6b0b2f1 100644 --- a/docs/modulos/typesense-local.md +++ b/docs/modulos/typesense-local.md @@ -1,12 +1,12 @@ -# Módulo: Typesense Local (destaquesgovbr-typesense) +# Módulo: Typesense Local (typesense) > Ambiente de desenvolvimento local para busca full-text. -**Repositório**: [github.com/destaquesgovbr/destaquesgovbr-typesense](https://github.com/destaquesgovbr/destaquesgovbr-typesense) +**Repositório**: [github.com/destaquesgovbr/typesense](https://github.com/destaquesgovbr/typesense) ## Visão Geral -O repositório `destaquesgovbr-typesense` fornece: +O repositório `typesense` fornece: - **Docker Compose** para rodar Typesense localmente - **Scripts Python** para carregar dados do HuggingFace @@ -24,7 +24,7 @@ flowchart LR ## Estrutura do Repositório ``` -destaquesgovbr-typesense/ +typesense/ ├── docker-compose.yml # Typesense container ├── python/ │ ├── scripts/ @@ -41,8 +41,8 @@ destaquesgovbr-typesense/ ### 1. Clonar repositório ```bash -git clone https://github.com/destaquesgovbr/destaquesgovbr-typesense.git -cd destaquesgovbr-typesense +git clone https://github.com/destaquesgovbr/typesense.git +cd typesense ``` ### 2. Subir Typesense diff --git a/docs/onboarding/airflow-tutorial.md b/docs/onboarding/airflow-tutorial.md index ca29072..6bd0a69 100644 --- a/docs/onboarding/airflow-tutorial.md +++ b/docs/onboarding/airflow-tutorial.md @@ -1165,7 +1165,7 @@ def destaques_govbr_pipeline(): """ Executa scraping de ~160 sites gov.br. - Usa WebScraper do repositório govbrnews-scraper. + Usa WebScraper do repositório scraper. Salva resultados no HuggingFace Dataset. """ # Import dentro da função para não sobrecarregar scheduler @@ -1301,7 +1301,7 @@ destaques_govbr_pipeline() ### Próximos Passos para Adoção -1. **Local**: Configurar Astro CLI no repositório govbrnews-scraper +1. **Local**: Configurar Astro CLI no repositório scraper 2. **Adaptar**: Refatorar scripts atuais para formato task 3. **Testar**: Validar pipeline localmente com dados de teste 4. **Deploy**: Configurar Astronomer Cloud ou self-hosted no GKE diff --git a/docs/onboarding/git-fundamentos.md b/docs/onboarding/git-fundamentos.md new file mode 100644 index 0000000..5f36bb9 --- /dev/null +++ b/docs/onboarding/git-fundamentos.md @@ -0,0 +1,626 @@ +# Git Fundamentos + +> Guia completo para entender e usar Git no dia a dia. Do zero ao intermediário, com linguagem simples e diagramas para facilitar o aprendizado. + +--- + +## Parte 1: Nível Básico (Baby Steps) + +### O que é Git? + +Imagine que você está escrevendo um documento importante. Você já deve ter feito algo assim: + +``` +relatorio.docx +relatorio_v2.docx +relatorio_v2_final.docx +relatorio_v2_final_FINAL.docx +relatorio_v2_final_FINAL_agora_vai.docx +``` + +**Git resolve esse problema.** Ele é como uma "máquina do tempo" para seus arquivos de código. Com Git você pode: + +- Salvar "fotos" do seu código em diferentes momentos +- Voltar para qualquer versão anterior +- Ver exatamente o que mudou entre versões +- Trabalhar em equipe sem sobrescrever o trabalho dos outros + +```mermaid +flowchart LR + subgraph "Sem Git" + A[arquivo_v1.py] --> B[arquivo_v2.py] + B --> C[arquivo_final.py] + C --> D[arquivo_final2.py] + end +``` + +```mermaid +flowchart LR + subgraph "Com Git" + E[arquivo.py] --> F[commit 1] + F --> G[commit 2] + G --> H[commit 3] + end +``` + +### Por que usar Git? + +| Problema | Como o Git resolve | +|----------|-------------------| +| "Quem mexeu nesse arquivo?" | Git registra autor, data e descrição de cada mudança | +| "Preciso voltar para a versão de ontem" | Git mantém histórico completo, você viaja no tempo | +| "Duas pessoas editaram o mesmo arquivo" | Git ajuda a juntar as mudanças (merge) | +| "Perdi meu código no HD queimado" | Git sincroniza com servidores remotos (backup) | + +### Conceitos Essenciais + +Antes de começar, vamos entender 4 conceitos fundamentais: + +#### 1. Repositório (repo) + +Um **repositório** é uma pasta monitorada pelo Git. Dentro dela existe uma pasta oculta `.git` que guarda todo o histórico. + +```mermaid +flowchart TB + subgraph "Pasta Normal" + A[meu-projeto/] + A --> B[arquivo1.py] + A --> C[arquivo2.py] + end + + subgraph "Repositório Git" + D[meu-projeto/] + D --> E[arquivo1.py] + D --> F[arquivo2.py] + D --> G[.git/ - histórico] + end +``` + +#### 2. Commit + +Um **commit** é uma "foto" do seu projeto em um momento específico. Cada commit tem: + +- Um identificador único (hash) +- Uma mensagem descritiva +- O autor e a data +- As mudanças feitas + +```mermaid +gitGraph + commit id: "Início do projeto" + commit id: "Adiciona login" + commit id: "Corrige bug" + commit id: "Você está aqui" +``` + +#### 3. Branch + +Uma **branch** (ramificação) é uma linha de desenvolvimento independente. Pense como universos paralelos do seu código. + +```mermaid +gitGraph + commit id: "inicial" + commit id: "base" + branch feature + commit id: "nova funcionalidade" + commit id: "ajustes" + checkout main + commit id: "correção urgente" +``` + +#### 4. Staging Area + +A **staging area** (área de preparação) é onde você escolhe quais mudanças entrarão no próximo commit. + +```mermaid +flowchart LR + A[Seus arquivos] -->|git add| B[Staging Area] + B -->|git commit| C[Repositório] + + style A fill:#ffcccc + style B fill:#ffffcc + style C fill:#ccffcc +``` + +### Instalação + +=== "Windows" + + 1. Baixe o instalador em [git-scm.com](https://git-scm.com/download/win) + 2. Execute o instalador + 3. Aceite as opções padrão (next, next, next...) + 4. Abra o "Git Bash" para usar + +=== "macOS" + + ```bash + # Se tiver Homebrew instalado: + brew install git + + # Ou baixe em git-scm.com/download/mac + ``` + +=== "Linux (Ubuntu/Debian)" + + ```bash + sudo apt update + sudo apt install git + ``` + +**Verificando a instalação:** + +```bash +git --version +# Deve mostrar algo como: git version 2.40.0 +``` + +### Configuração Inicial + +Antes de usar o Git, configure seu nome e email. Esses dados aparecem em cada commit que você fizer: + +```bash +# Configure seu nome +git config --global user.name "Seu Nome" + +# Configure seu email (use o mesmo do GitHub) +git config --global user.email "seu.email@exemplo.com" + +# Verifique as configurações +git config --list +``` + +> **Dica**: O `--global` aplica a configuração para todos os repositórios. Sem ele, vale só para o repositório atual. + +### Seu Primeiro Repositório + +Vamos criar um repositório do zero: + +```bash +# 1. Crie uma pasta para o projeto +mkdir meu-primeiro-repo +cd meu-primeiro-repo + +# 2. Inicialize o Git nessa pasta +git init + +# 3. Veja que a pasta .git foi criada +ls -la +``` + +Você verá a mensagem: + +``` +Initialized empty Git repository in /caminho/meu-primeiro-repo/.git/ +``` + +Parabéns! Você tem um repositório Git. + +### O Ciclo Básico do Git + +O fluxo de trabalho mais comum no Git tem 3 passos: + +```mermaid +flowchart LR + A[1. Editar arquivos] --> B[2. git add] + B --> C[3. git commit] + C --> A +``` + +#### Passo 1: Criar/editar arquivos + +```bash +# Crie um arquivo qualquer +echo "Olá, Git!" > arquivo.txt +``` + +#### Passo 2: Ver o status + +```bash +git status +``` + +Você verá algo como: + +``` +Untracked files: + (use "git add ..." to include in what will be committed) + arquivo.txt +``` + +O arquivo está **Untracked** (não rastreado) - o Git sabe que ele existe, mas não está monitorando. + +#### Passo 3: Adicionar à staging area + +```bash +git add arquivo.txt + +# Ou para adicionar TODOS os arquivos modificados: +git add . +``` + +Verifique novamente: + +```bash +git status +``` + +Agora mostra: + +``` +Changes to be committed: + (use "git restore --staged ..." to unstage) + new file: arquivo.txt +``` + +#### Passo 4: Fazer o commit + +```bash +git commit -m "Adiciona arquivo inicial" +``` + +A flag `-m` permite escrever a mensagem do commit diretamente. + +### Estados dos Arquivos + +Um arquivo no Git pode estar em 4 estados: + +```mermaid +flowchart LR + A[Untracked] -->|git add| B[Staged] + B -->|git commit| C[Committed] + C -->|editar| D[Modified] + D -->|git add| B + + style A fill:#ff9999 + style B fill:#ffff99 + style C fill:#99ff99 + style D fill:#99ccff +``` + +| Estado | Significado | +|--------|------------| +| **Untracked** | Arquivo novo, Git não conhece | +| **Staged** | Arquivo marcado para o próximo commit | +| **Committed** | Arquivo salvo no histórico | +| **Modified** | Arquivo alterado desde o último commit | + +### Entendendo o Histórico + +Para ver os commits anteriores: + +```bash +# Histórico completo +git log + +# Histórico resumido (uma linha por commit) +git log --oneline + +# Histórico com gráfico de branches +git log --oneline --graph +``` + +Exemplo de saída do `git log --oneline`: + +``` +a1b2c3d (HEAD -> main) Adiciona validação de email +e4f5g6h Corrige bug no login +i7j8k9l Commit inicial +``` + +--- + +## Parte 2: Nível Intermediário + +### Branches na Prática + +Branches permitem trabalhar em funcionalidades isoladas sem afetar o código principal. + +#### Visualizando branches + +```bash +# Lista todas as branches locais +git branch + +# Lista com mais detalhes +git branch -v +``` + +#### Criando uma branch + +```bash +# Cria uma nova branch +git branch minha-feature + +# Cria E muda para ela (atalho) +git checkout -b minha-feature + +# Forma moderna (Git 2.23+) +git switch -c minha-feature +``` + +#### Trocando de branch + +```bash +# Forma clássica +git checkout main + +# Forma moderna +git switch main +``` + +#### Diagrama: trabalhando com branches + +```mermaid +gitGraph + commit id: "A" + commit id: "B" + branch feature/login + commit id: "C - login" + commit id: "D - validação" + checkout main + commit id: "E - hotfix" + checkout feature/login + commit id: "F - testes" +``` + +### Merge: Juntando Trabalhos + +Quando terminar o trabalho em uma branch, você precisa juntar (merge) com a principal: + +```bash +# 1. Volte para a branch de destino +git checkout main + +# 2. Faça o merge +git merge minha-feature +``` + +#### Tipos de Merge + +**Fast-forward** (avanço rápido): quando não há commits novos na branch de destino. + +```mermaid +gitGraph + commit id: "A" + commit id: "B" + branch feature + commit id: "C" + commit id: "D" + checkout main + merge feature +``` + +**Merge commit**: quando ambas as branches têm commits novos. + +```mermaid +gitGraph + commit id: "A" + commit id: "B" + branch feature + commit id: "C" + checkout main + commit id: "D" + merge feature +``` + +### Resolvendo Conflitos + +Conflitos acontecem quando duas pessoas editam a mesma linha do mesmo arquivo. + +```mermaid +flowchart TD + A[Branch main: linha 5 = 'Hello'] + B[Branch feature: linha 5 = 'Olá'] + A --> C{git merge} + B --> C + C --> D[CONFLITO!] + D --> E[Você decide qual versão manter] + E --> F[git add + git commit] +``` + +Quando há conflito, o arquivo fica assim: + +``` +<<<<<<< HEAD +Código da branch atual (main) +======= +Código da branch que está sendo mesclada (feature) +>>>>>>> feature +``` + +**Como resolver:** + +1. Abra o arquivo com conflito +2. Escolha qual versão manter (ou combine as duas) +3. Remova os marcadores `<<<<<<<`, `=======`, `>>>>>>>` +4. Salve o arquivo +5. Execute: + +```bash +git add arquivo-com-conflito.py +git commit -m "Resolve conflito no arquivo X" +``` + +> **Dica**: IDEs como VSCode mostram os conflitos de forma visual e facilitam a resolução. + +### Desfazendo Coisas + +O Git oferece várias formas de desfazer mudanças. Use a certa para cada situação: + +#### Descartar mudanças não commitadas + +```bash +# Descartar mudanças em um arquivo específico +git restore arquivo.py + +# Descartar TODAS as mudanças (cuidado!) +git restore . +``` + +#### Remover arquivo da staging area + +```bash +# Remove do staging, mas mantém as mudanças no arquivo +git restore --staged arquivo.py +``` + +#### Desfazer o último commit (mantendo mudanças) + +```bash +# Volta o commit, mas mantém os arquivos modificados +git reset --soft HEAD~1 +``` + +#### Criar um commit que reverte outro + +```bash +# Cria um NOVO commit que desfaz as mudanças de um commit anterior +git revert abc123 +``` + +#### Diagrama: Reset vs Revert + +```mermaid +flowchart TB + subgraph "git reset --soft HEAD~1" + A1[Commit A] --> B1[Commit B] --> C1[Commit C] + C1 -.->|reset| B1 + D1[Resultado: histórico alterado] + end + + subgraph "git revert" + A2[Commit A] --> B2[Commit B] --> C2[Commit C] --> D2[Commit Revert C] + E2[Resultado: novo commit adicionado] + end +``` + +| Comando | Quando usar | +|---------|-------------| +| `git restore` | Descartar mudanças locais não commitadas | +| `git reset --soft` | Desfazer commit local (ainda não enviado) | +| `git revert` | Desfazer commit já enviado para o remoto | + +### Git Stash: Guardando Mudanças no Bolso + +O `stash` guarda temporariamente suas mudanças para você trocar de branch sem perder nada. + +```bash +# Guarda as mudanças atuais +git stash + +# Lista os stashes salvos +git stash list + +# Recupera o último stash +git stash pop + +# Recupera um stash específico +git stash apply stash@{2} + +# Remove um stash +git stash drop stash@{0} +``` + +**Cenário comum:** + +```mermaid +flowchart LR + A[Trabalhando na feature] --> B[Precisa fazer hotfix urgente] + B --> C[git stash] + C --> D[Troca para main, faz hotfix] + D --> E[Volta para feature] + E --> F[git stash pop] + F --> G[Continua trabalho] +``` + +### Boas Práticas de Commits + +#### Conventional Commits + +O projeto DestaquesGovBr segue o padrão **Conventional Commits**: + +``` +: + +[corpo opcional] +``` + +**Tipos principais:** + +| Tipo | Quando usar | +|------|-------------| +| `feat` | Nova funcionalidade | +| `fix` | Correção de bug | +| `docs` | Mudanças na documentação | +| `style` | Formatação (não altera lógica) | +| `refactor` | Refatoração de código | +| `test` | Adição ou correção de testes | +| `chore` | Tarefas de manutenção | + +**Exemplos:** + +```bash +git commit -m "feat: adiciona filtro por data na busca" +git commit -m "fix: corrige erro de encoding no scraper" +git commit -m "docs: atualiza guia de instalação" +``` + +#### Regras para boas mensagens + +1. Use o imperativo: "Adiciona" (não "Adicionado" ou "Adicionando") +2. Primeira linha com no máximo 72 caracteres +3. Descreva O QUE foi feito, não COMO +4. Se precisar explicar mais, deixe uma linha em branco e adicione detalhes + +### Aliases: Atalhos Úteis + +Configure atalhos para comandos que você usa frequentemente: + +```bash +# Status resumido +git config --global alias.st "status -sb" + +# Log bonito +git config --global alias.lg "log --oneline --graph --decorate" + +# Adicionar tudo e commitar +git config --global alias.ac "!git add -A && git commit" +``` + +Agora você pode usar: + +```bash +git st # em vez de git status -sb +git lg # em vez de git log --oneline --graph --decorate +git ac -m "mensagem" # adiciona tudo e commita +``` + +--- + +## Resumo de Comandos + +| Comando | O que faz | +|---------|-----------| +| `git init` | Cria um novo repositório | +| `git status` | Mostra estado dos arquivos | +| `git add ` | Adiciona arquivo à staging | +| `git commit -m "msg"` | Cria um commit | +| `git log` | Mostra histórico | +| `git branch` | Lista/cria branches | +| `git checkout ` | Muda de branch | +| `git merge ` | Junta branches | +| `git stash` | Guarda mudanças temporariamente | +| `git restore ` | Descarta mudanças | + +--- + +## Próximos Passos + +Agora que você domina os fundamentos do Git, continue aprendendo: + +- [GitHub Colaboração](github-colaboracao.md): Como usar o GitHub para colaborar +- [Primeiro PR](primeiro-pr.md): Fluxo completo para contribuir com o projeto + +--- + +> **Precisa de ajuda?** Consulte o [Troubleshooting](troubleshooting.md) ou pergunte no canal do time. diff --git a/docs/onboarding/github-colaboracao.md b/docs/onboarding/github-colaboracao.md new file mode 100644 index 0000000..4d47243 --- /dev/null +++ b/docs/onboarding/github-colaboracao.md @@ -0,0 +1,475 @@ +# GitHub Colaboração + +> Guia para usar o GitHub e colaborar com o time. Aprenda desde o básico (criar conta, clonar repositórios) até o fluxo completo de Pull Requests. + +--- + +## Parte 1: Nível Básico + +### Git vs GitHub: Qual a Diferença? + +Uma confusão comum é misturar Git com GitHub. São coisas diferentes: + +| Git | GitHub | +|-----|--------| +| Software instalado no seu computador | Site/serviço na nuvem | +| Controle de versão local | Hospedagem de repositórios | +| Funciona offline | Precisa de internet | +| Ferramenta de linha de comando | Interface web + funcionalidades extras | + +```mermaid +flowchart LR + subgraph "Seu Computador" + A[Git] --> B[Repositório Local] + end + + subgraph "Internet" + C[GitHub] --> D[Repositório Remoto] + end + + B <-->|push/pull| D +``` + +**Resumindo**: Git é o motor, GitHub é a garagem compartilhada onde você estaciona seu código para outros acessarem. + +### Criando sua Conta no GitHub + +1. Acesse [github.com](https://github.com) +2. Clique em "Sign up" +3. Siga o processo de criação +4. **Importante**: Use um email que você acessa frequentemente + +> **Dica para o DestaquesGovBr**: Use o mesmo email configurado no seu Git local para que os commits apareçam vinculados ao seu perfil. + +### Configurando SSH (Recomendado) + +SSH permite autenticação segura sem digitar senha toda hora. + +#### Passo 1: Gerar chave SSH + +```bash +# Gera um par de chaves (pública e privada) +ssh-keygen -t ed25519 -C "seu.email@exemplo.com" + +# Quando perguntar onde salvar, pressione Enter (usa o padrão) +# Quando perguntar a senha (passphrase), pode deixar vazio ou criar uma +``` + +#### Passo 2: Adicionar ao ssh-agent + +```bash +# Inicia o ssh-agent +eval "$(ssh-agent -s)" + +# Adiciona sua chave +ssh-add ~/.ssh/id_ed25519 +``` + +#### Passo 3: Adicionar chave ao GitHub + +```bash +# Copia a chave pública para a área de transferência + +# macOS +cat ~/.ssh/id_ed25519.pub | pbcopy + +# Linux +cat ~/.ssh/id_ed25519.pub | xclip -selection clipboard + +# Windows (Git Bash) +cat ~/.ssh/id_ed25519.pub | clip +``` + +1. No GitHub, vá em **Settings** → **SSH and GPG keys** +2. Clique em **New SSH key** +3. Cole a chave e dê um nome (ex: "Meu notebook") +4. Clique em **Add SSH key** + +#### Passo 4: Testar conexão + +```bash +ssh -T git@github.com +``` + +Deve aparecer: + +``` +Hi seu-usuario! You've successfully authenticated... +``` + +### Clone vs Fork + +Duas formas de obter uma cópia de um repositório: + +```mermaid +flowchart TB + subgraph "Clone" + A[Repositório Original] -->|git clone| B[Cópia Local] + B -->|push| A + end + + subgraph "Fork" + C[Repositório Original] -->|Fork no GitHub| D[Sua Cópia no GitHub] + D -->|git clone| E[Cópia Local] + E -->|push| D + D -->|Pull Request| C + end +``` + +| Ação | Quando usar | +|------|-------------| +| **Clone** | Você tem permissão de escrita no repositório | +| **Fork** | Você NÃO tem permissão, quer contribuir via Pull Request | + +### Seu Primeiro Clone + +Para repositórios do DestaquesGovBr que você tem acesso: + +```bash +# Via SSH (recomendado) +git clone git@github.com:destaquesgovbr/destaquesgovbr-scraper.git + +# Via HTTPS (pede senha/token) +git clone https://github.com/destaquesgovbr/destaquesgovbr-scraper.git + +# Entre na pasta do projeto +cd destaquesgovbr-scraper +``` + +### Push e Pull: Sincronizando com o Remoto + +#### Enviando suas mudanças (push) + +```bash +# Depois de fazer commits locais +git push origin main + +# Se for uma branch nova +git push -u origin minha-branch +``` + +A flag `-u` (ou `--set-upstream`) configura o rastreamento, então nas próximas vezes basta `git push`. + +#### Baixando atualizações (pull) + +```bash +# Baixa e integra mudanças do remoto +git pull origin main + +# Ou se já configurou upstream +git pull +``` + +```mermaid +flowchart LR + A[Repositório Local] -->|git push| B[GitHub] + B -->|git pull| A +``` + +> **Boa prática**: Sempre faça `git pull` antes de começar a trabalhar para ter a versão mais recente. + +### README e Arquivos Especiais + +Todo repositório bem organizado tem alguns arquivos importantes: + +| Arquivo | Propósito | +|---------|-----------| +| `README.md` | Apresentação do projeto, como instalar e usar | +| `LICENSE` | Licença de uso do código | +| `CONTRIBUTING.md` | Como contribuir com o projeto | +| `.gitignore` | Arquivos que o Git deve ignorar | +| `.env.example` | Modelo de variáveis de ambiente | + +--- + +## Parte 2: Nível Intermediário + +### Pull Requests (PRs) + +Pull Request é a forma de propor mudanças em um repositório. É o coração da colaboração no GitHub. + +#### Fluxo Completo de um PR + +```mermaid +flowchart TD + A[1. Criar branch local] --> B[2. Fazer mudanças e commits] + B --> C[3. Push para o GitHub] + C --> D[4. Abrir Pull Request] + D --> E[5. Code Review] + E --> F{Aprovado?} + F -->|Sim| G[6. Merge] + F -->|Não| H[7. Fazer ajustes] + H --> B + G --> I[8. Deletar branch] +``` + +#### Passo a Passo + +**1. Criar branch a partir de main atualizada:** + +```bash +git checkout main +git pull origin main +git checkout -b feature/minha-mudanca +``` + +**2. Fazer suas mudanças e commits:** + +```bash +# Edite os arquivos... +git add . +git commit -m "feat: adiciona nova funcionalidade X" +``` + +**3. Enviar para o GitHub:** + +```bash +git push -u origin feature/minha-mudanca +``` + +**4. Abrir o PR:** + +- Acesse o repositório no GitHub +- Você verá um botão "Compare & pull request" +- Ou vá em "Pull requests" → "New pull request" + +**5. Preencher o PR:** + +- **Título**: Descreva a mudança de forma clara +- **Descrição**: Explique o que foi feito, por quê, e como testar + +**Exemplo de descrição:** + +```markdown +## O que foi feito +- Adiciona endpoint para exportar dados em CSV +- Implementa filtro por data + +## Por que +Usuários precisam exportar relatórios para análise externa. + +## Como testar +1. Execute `python manage.py runserver` +2. Acesse `/api/export?format=csv` +3. Verifique se o arquivo é baixado corretamente + +## Checklist +- [x] Código segue padrões do projeto +- [x] Testes passando +- [ ] Documentação atualizada +``` + +### Code Review + +#### Como receber review + +- Seja receptivo a feedback +- Responda comentários explicando suas decisões +- Faça os ajustes solicitados em novos commits +- Marque conversas como resolvidas após ajustar + +#### Como fazer review + +```mermaid +flowchart LR + A[Abrir PR] --> B[Ler descrição] + B --> C[Analisar mudanças] + C --> D[Testar localmente] + D --> E[Deixar comentários] + E --> F[Aprovar ou Solicitar mudanças] +``` + +**Tipos de comentários:** + +| Ícone | Significado | +|-------|-------------| +| Comentário simples | Observação, não bloqueia o merge | +| Request changes | Precisa ser resolvido antes do merge | +| Approve | Aprovado, pode fazer merge | + +**Dicas para bons reviews:** + +- Seja específico: "Na linha 42, considere usar `map()` em vez de `for`" +- Seja construtivo: Explique o porquê da sugestão +- Reconheça o bom: "Boa solução para esse caso!" + +### Issues + +Issues são usadas para: + +- Reportar bugs +- Sugerir funcionalidades +- Documentar tarefas +- Discutir ideias + +#### Anatomia de uma boa Issue + +```markdown +## Descrição +Explique claramente o problema ou sugestão. + +## Passos para reproduzir (se for bug) +1. Faça isso +2. Depois aquilo +3. Observe o erro + +## Comportamento esperado +O que deveria acontecer. + +## Comportamento atual +O que está acontecendo. + +## Ambiente +- OS: Ubuntu 22.04 +- Python: 3.11 +- Browser: Chrome 120 +``` + +#### Linkando Issues com PRs + +Quando seu PR resolve uma issue, use palavras-chave na descrição: + +```markdown +Closes #123 +Fixes #456 +Resolves #789 +``` + +O GitHub fecha automaticamente a issue quando o PR é mergeado. + +```mermaid +flowchart LR + A[Issue #123 Aberta] --> B[PR menciona 'Closes #123'] + B --> C[PR é mergeado] + C --> D[Issue #123 Fechada automaticamente] +``` + +### GitHub Actions (Visão Geral) + +GitHub Actions executa automações quando eventos acontecem no repositório. + +#### O que são Workflows? + +Arquivos YAML em `.github/workflows/` que definem: + +- **Quando** executar (push, PR, schedule) +- **O que** executar (testes, deploy, lint) +- **Onde** executar (Ubuntu, Windows, macOS) + +#### Verificando Status dos Workflows + +No seu PR, você verá os checks: + +``` +✓ Tests passing +✓ Lint passing +✗ Build failed +``` + +- **Verde**: Passou +- **Vermelho**: Falhou (clique para ver os logs) +- **Amarelo**: Em execução + +```mermaid +flowchart LR + A[Push/PR] --> B[GitHub Actions dispara] + B --> C{Checks} + C -->|Sucesso| D[✓ Verde] + C -->|Falha| E[✗ Vermelho] + E --> F[Ver logs, corrigir, push novamente] +``` + +#### Workflows do DestaquesGovBr + +| Workflow | O que faz | +|----------|-----------| +| `tests.yml` | Roda testes automatizados | +| `lint.yml` | Verifica formatação do código | +| `deploy.yml` | Deploy automático após merge | + +> **Dica**: Se um check falhar, clique nele para ver os logs e entender o que deu errado. + +### Proteção de Branches + +A branch `main` geralmente é protegida, significando que: + +- Não pode receber push direto +- Mudanças devem vir via Pull Request +- PRs precisam de aprovação antes do merge +- Checks devem passar + +```mermaid +flowchart TD + A[Você quer mudar main] --> B{Push direto?} + B -->|Não permitido| C[❌ Rejeitado] + B -->|Via PR| D[✓ Permitido] + D --> E{Review aprovado?} + E -->|Sim| F{Checks passando?} + F -->|Sim| G[✓ Merge permitido] + E -->|Não| H[Aguarda revisão] + F -->|Não| I[Corrigir e fazer push] +``` + +**Por que isso existe?** + +- Garante revisão de código +- Evita quebrar a branch principal +- Mantém histórico limpo +- Assegura qualidade (testes passando) + +### Colaboração no DestaquesGovBr + +#### Repositórios Principais + +| Repositório | Descrição | +|-------------|-----------| +| [destaquesgovbr-scraper](https://github.com/destaquesgovbr/destaquesgovbr-scraper) | Pipeline de coleta de dados | +| [portal](https://github.com/destaquesgovbr/portal) | Frontend Next.js | +| [docs](https://github.com/destaquesgovbr/docs) | Esta documentação | + +#### Fluxo de Contribuição + +```mermaid +flowchart TD + A[Encontrar Issue] --> B[Comentar que vai trabalhar] + B --> C[Criar branch] + C --> D[Desenvolver] + D --> E[Abrir PR] + E --> F[Review] + F --> G[Merge] + G --> H[Celebrar! 🎉] +``` + +1. **Encontre uma issue** com label `good first issue` ou `help wanted` +2. **Comente** na issue que você vai trabalhar nela +3. **Crie uma branch** seguindo a convenção: `feature/`, `fix/`, `docs/` +4. **Desenvolva** seguindo os padrões do projeto +5. **Abra um PR** referenciando a issue +6. **Aguarde review** e faça ajustes se necessário +7. **Merge!** Sua contribuição está no projeto + +--- + +## Resumo de Comandos + +| Comando | O que faz | +|---------|-----------| +| `git clone ` | Clona um repositório | +| `git remote -v` | Lista repositórios remotos | +| `git push origin ` | Envia commits para o remoto | +| `git pull origin ` | Baixa e integra mudanças | +| `git fetch` | Baixa mudanças sem integrar | +| `ssh -T git@github.com` | Testa conexão SSH | + +--- + +## Próximos Passos + +Continue sua jornada: + +- [Primeiro PR](primeiro-pr.md): Tutorial prático para sua primeira contribuição +- [Troubleshooting](troubleshooting.md): Soluções para problemas comuns + +--- + +> **Dúvidas?** Pergunte no canal do time ou abra uma issue na documentação. diff --git a/docs/onboarding/primeiro-pr.md b/docs/onboarding/primeiro-pr.md index 115631f..4283f23 100644 --- a/docs/onboarding/primeiro-pr.md +++ b/docs/onboarding/primeiro-pr.md @@ -16,8 +16,8 @@ Certifique-se de que você: ### Onde procurar -- [Issues do Scraper](https://github.com/destaquesgovbr/govbrnews-scraper/issues) -- [Issues do Portal](https://github.com/destaquesgovbr/destaquesgovbr-portal/issues) +- [Issues do Scraper](https://github.com/destaquesgovbr/scraper/issues) +- [Issues do Portal](https://github.com/destaquesgovbr/portal/issues) ### Labels para iniciantes diff --git a/docs/onboarding/roteiro-onboarding.md b/docs/onboarding/roteiro-onboarding.md index 0389cf1..fa6e9b4 100644 --- a/docs/onboarding/roteiro-onboarding.md +++ b/docs/onboarding/roteiro-onboarding.md @@ -6,7 +6,7 @@ O DestaquesGovbr é uma plataforma que centraliza e enriquece notícias governamentais brasileiras. Este roteiro vai guiá-lo através do processo de onboarding. -**Acesse o portal**: [destaquesgovbr-portal-klvx64dufq-rj.a.run.app](https://destaquesgovbr-portal-klvx64dufq-rj.a.run.app/) *(URL provisória)* +**Acesse o portal**: [portal-klvx64dufq-rj.a.run.app](https://portal-klvx64dufq-rj.a.run.app/) *(URL provisória)* ## Pré-requisitos Comuns @@ -19,9 +19,21 @@ Antes de começar, certifique-se de ter: | Docker Compose | 2.20+ | `docker compose version` | | VS Code ou IDE preferida | - | - | +### Fundamentos Git e GitHub + +Se você é novo em Git ou GitHub, comece por aqui: + +| Guia | Descrição | Tempo | +|------|-----------|-------| +| [Git Fundamentos](./git-fundamentos.md) | Do zero ao intermediário: commits, branches, merge | 1-2h | +| [GitHub Colaboração](./github-colaboracao.md) | Clone, PRs, issues, code review | 1h | + +> **Dica**: Mesmo que você já conheça Git, vale revisar a seção de [Boas Práticas de Commits](./git-fundamentos.md#boas-praticas-de-commits) que segue o padrão do projeto. + ### Acesso Necessário - [ ] Conta GitHub com acesso à [organização destaquesgovbr](https://github.com/destaquesgovbr) +- [ ] Chave SSH configurada ([tutorial](./github-colaboracao.md#configurando-ssh-recomendado)) - [ ] Acesso ao GCP (solicitar ao tech lead se necessário) - [ ] Token HuggingFace (para desenvolvimento do scraper) @@ -35,21 +47,22 @@ Antes de começar, certifique-se de ter: ```mermaid flowchart LR - A[1. Visão Geral] --> B[2. Setup Backend] - B --> C[3. Entender Scraper] - C --> D[4. Apache Airflow] - D --> E[5. Entender Pipeline] + A[1. Git/GitHub] --> B[2. Visão Geral] + B --> C[3. Setup Backend] + C --> D[4. Entender Scraper] + D --> E[5. Apache Airflow] E --> F[6. Primeiro PR] ``` **Ordem de leitura:** -1. [Visão Geral da Arquitetura](../arquitetura/visao-geral.md) (30 min) -2. [Fluxo de Dados](../arquitetura/fluxo-de-dados.md) (20 min) -3. [Setup Backend](./setup-backend.md) (1-2 horas) -4. [Módulo Scraper](../modulos/scraper.md) (quando disponível) -5. [**Apache Airflow**](./airflow-tutorial.md) (3-5 horas) ⭐ **Novo** -6. [Primeiro PR](./primeiro-pr.md) (30 min) +1. [Git Fundamentos](./git-fundamentos.md) + [GitHub Colaboração](./github-colaboracao.md) (2-3 horas) +2. [Visão Geral da Arquitetura](../arquitetura/visao-geral.md) (30 min) +3. [Fluxo de Dados](../arquitetura/fluxo-de-dados.md) (20 min) +4. [Setup Backend](./setup-backend.md) (1-2 horas) +5. [Módulo Scraper](../modulos/scraper.md) (quando disponível) +6. [**Apache Airflow**](./airflow-tutorial.md) (3-5 horas) +7. [Primeiro PR](./primeiro-pr.md) (30 min) **Exercícios práticos:** @@ -68,19 +81,20 @@ flowchart LR ```mermaid flowchart LR - A[1. Visão Geral] --> B[2. Setup Frontend] - B --> C[3. Entender Portal] - C --> D[4. Typesense Local] + A[1. Git/GitHub] --> B[2. Visão Geral] + B --> C[3. Setup Frontend] + C --> D[4. Entender Portal] D --> E[5. Primeiro PR] ``` **Ordem de leitura:** -1. [Visão Geral da Arquitetura](../arquitetura/visao-geral.md) (30 min) -2. [Componentes Estruturantes](../arquitetura/componentes-estruturantes.md) (20 min) -3. [Setup Frontend](./setup-frontend.md) (1-2 horas) -4. [Módulo Portal](../modulos/portal.md) (quando disponível) -5. [Primeiro PR](./primeiro-pr.md) (30 min) +1. [Git Fundamentos](./git-fundamentos.md) + [GitHub Colaboração](./github-colaboracao.md) (2-3 horas) +2. [Visão Geral da Arquitetura](../arquitetura/visao-geral.md) (30 min) +3. [Componentes Estruturantes](../arquitetura/componentes-estruturantes.md) (20 min) +4. [Setup Frontend](./setup-frontend.md) (1-2 horas) +5. [Módulo Portal](../modulos/portal.md) (quando disponível) +6. [Primeiro PR](./primeiro-pr.md) (30 min) **Exercícios práticos:** @@ -97,6 +111,8 @@ flowchart LR | Tarefa | Tempo | Recurso | |--------|-------|---------| +| Aprender Git (se iniciante) | 1-2h | [git-fundamentos.md](./git-fundamentos.md) | +| Configurar GitHub e SSH | 30 min | [github-colaboracao.md](./github-colaboracao.md) | | Ler visão geral da arquitetura | 30 min | [visao-geral.md](../arquitetura/visao-geral.md) | | Ler fluxo de dados | 20 min | [fluxo-de-dados.md](../arquitetura/fluxo-de-dados.md) | | Setup do ambiente | 1-2h | [setup-backend.md](./setup-backend.md) ou [setup-frontend.md](./setup-frontend.md) | @@ -153,11 +169,11 @@ flowchart LR | Repositório | Descrição | Quem Usa | |-------------|-----------|----------| -| [govbrnews-scraper](https://github.com/destaquesgovbr/govbrnews-scraper) | Pipeline de dados | Backend | -| [destaquesgovbr-portal](https://github.com/destaquesgovbr/destaquesgovbr-portal) | Portal web | Frontend | -| [destaquesgovbr-typesense](https://github.com/destaquesgovbr/destaquesgovbr-typesense) | Typesense local | Ambos | -| [destaquesgovbr-infra](https://github.com/destaquesgovbr/destaquesgovbr-infra) | Infraestrutura | DevOps | -| [destaquesgovbr-agencies](https://github.com/destaquesgovbr/destaquesgovbr-agencies) | Dados de órgãos | Ambos | +| [scraper](https://github.com/destaquesgovbr/scraper) | Pipeline de dados | Backend | +| [portal](https://github.com/destaquesgovbr/portal) | Portal web | Frontend | +| [typesense](https://github.com/destaquesgovbr/typesense) | Typesense local | Ambos | +| [infra](https://github.com/destaquesgovbr/infra) | Infraestrutura | DevOps | +| [agencies](https://github.com/destaquesgovbr/agencies) | Dados de órgãos | Ambos | --- @@ -173,6 +189,8 @@ flowchart LR ### Todos os Desenvolvedores +- [ ] Completei o guia [Git Fundamentos](./git-fundamentos.md) (ou já domino Git) +- [ ] Configurei minha chave SSH no GitHub - [ ] Li a visão geral da arquitetura - [ ] Entendi o fluxo de dados do pipeline - [ ] Tenho acesso aos repositórios necessários diff --git a/docs/onboarding/setup-backend.md b/docs/onboarding/setup-backend.md index 997c0ec..80ef626 100644 --- a/docs/onboarding/setup-backend.md +++ b/docs/onboarding/setup-backend.md @@ -26,8 +26,8 @@ git --version # Git 2.40.x ou superior ```bash # Clone o repositório do scraper -git clone https://github.com/destaquesgovbr/govbrnews-scraper.git -cd govbrnews-scraper +git clone https://github.com/destaquesgovbr/scraper.git +cd scraper ``` --- @@ -83,7 +83,7 @@ COGFY_COLLECTION_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ## 4. Estrutura do Projeto ``` -govbrnews-scraper/ +scraper/ ├── src/ │ ├── main.py # CLI principal │ ├── dataset_manager.py # Gerenciador HuggingFace @@ -156,8 +156,8 @@ Para testar a indexação localmente: ```bash # Clone o repositório do Typesense local -git clone https://github.com/destaquesgovbr/destaquesgovbr-typesense.git -cd destaquesgovbr-typesense +git clone https://github.com/destaquesgovbr/typesense.git +cd typesense # Subir Typesense com Docker docker compose up -d @@ -169,7 +169,7 @@ curl http://localhost:8108/health ### Carregar dados no Typesense ```bash -# No repositório destaquesgovbr-typesense +# No repositório typesense python python/scripts/load_data.py --mode incremental --days 7 ``` @@ -209,10 +209,10 @@ poetry run mypy src/ ```bash # Build da imagem -docker build -t govbrnews-scraper . +docker build -t scraper . # Executar container -docker run --env-file .env govbrnews-scraper python src/main.py --help +docker run --env-file .env scraper python src/main.py --help ``` --- diff --git a/docs/onboarding/setup-devvm.md b/docs/onboarding/setup-devvm.md index 1f96dd9..11bfd21 100644 --- a/docs/onboarding/setup-devvm.md +++ b/docs/onboarding/setup-devvm.md @@ -140,10 +140,10 @@ cd ~/projects ```bash # Clone o scraper -git clone https://github.com/destaquesgovbr/govbrnews-scraper.git +git clone https://github.com/destaquesgovbr/scraper.git # Clone o portal -git clone https://github.com/destaquesgovbr/destaquesgovbr-portal.git +git clone https://github.com/destaquesgovbr/portal.git ``` ### Abrir Projetos no VSCode diff --git a/docs/onboarding/setup-frontend.md b/docs/onboarding/setup-frontend.md index bd8787a..3e33c09 100644 --- a/docs/onboarding/setup-frontend.md +++ b/docs/onboarding/setup-frontend.md @@ -26,8 +26,8 @@ git --version # Git 2.40.x ou superior ```bash # Clone o repositório do portal -git clone https://github.com/destaquesgovbr/destaquesgovbr-portal.git -cd destaquesgovbr-portal +git clone https://github.com/destaquesgovbr/portal.git +cd portal ``` --- @@ -47,8 +47,8 @@ O portal precisa do Typesense para funcionar. Vamos configurar uma instância lo ```bash # Clone o repositório do Typesense local -git clone https://github.com/destaquesgovbr/destaquesgovbr-typesense.git -cd destaquesgovbr-typesense +git clone https://github.com/destaquesgovbr/typesense.git +cd typesense # Subir Typesense com Docker docker compose up -d @@ -64,7 +64,7 @@ curl http://localhost:8108/health ### Carregar dados de teste ```bash -# Ainda no diretório destaquesgovbr-typesense +# Ainda no diretório typesense cd python # Instalar dependências Python (necessário para o script de carga) @@ -81,7 +81,7 @@ python scripts/load_data.py --mode incremental --days 7 Volte ao diretório do portal e crie o arquivo `.env.local`: ```bash -cd ../destaquesgovbr-portal +cd ../portal ``` Crie o arquivo `.env.local`: @@ -113,7 +113,7 @@ Acesse [http://localhost:3000](http://localhost:3000) no navegador. ## 6. Estrutura do Projeto ``` -destaquesgovbr-portal/ +portal/ ├── src/ │ ├── app/ # App Router (Next.js 15) │ │ ├── page.tsx # Homepage @@ -356,7 +356,7 @@ Error: connect ECONNREFUSED 127.0.0.1:8108 ```bash docker ps | grep typesense # Se não estiver, subir novamente -cd destaquesgovbr-typesense && docker compose up -d +cd typesense && docker compose up -d ``` ### Erro de tipos TypeScript diff --git a/docs/onboarding/troubleshooting.md b/docs/onboarding/troubleshooting.md index 14566b5..e6d66b1 100644 --- a/docs/onboarding/troubleshooting.md +++ b/docs/onboarding/troubleshooting.md @@ -124,7 +124,7 @@ Error: connect ECONNREFUSED 127.0.0.1:8108 docker ps | grep typesense # Se não estiver, subir -cd destaquesgovbr-typesense +cd typesense docker compose up -d # Verificar saúde @@ -167,7 +167,7 @@ curl "http://localhost:8108/collections/news/documents/search?q=*" \ 3. Carregar dados se necessário: ```bash -cd destaquesgovbr-typesense/python +cd typesense/python python scripts/load_data.py --mode incremental --days 7 ``` @@ -219,7 +219,7 @@ Could not find a collection named 'news' curl http://localhost:8108/collections -H "X-TYPESENSE-API-KEY: xyz" # Criar collection (script de carga faz isso automaticamente) -cd destaquesgovbr-typesense/python +cd typesense/python python scripts/load_data.py --mode full ``` @@ -409,7 +409,7 @@ Error 403: Permission denied ```bash # Verificar status do deploy -gcloud run services describe destaquesgovbr-portal --region=us-east1 +gcloud run services describe portal --region=us-east1 # Forçar novo deploy # (via GitHub Actions ou manualmente) diff --git a/docs/plano/PLANO_IMPLEMENTACAO.md b/docs/plano/PLANO_IMPLEMENTACAO.md index 9372263..110ca69 100644 --- a/docs/plano/PLANO_IMPLEMENTACAO.md +++ b/docs/plano/PLANO_IMPLEMENTACAO.md @@ -119,16 +119,16 @@ documento @/Users/nitai/Dropbox/dev-mgi/destaquesgov-projeto/planos-de-trabalho/ Demais repositórios que devem ser cobertos pela documentação: -- /Users/nitai/Dropbox/dev-mgi/govbrnews-scraper +- /Users/nitai/Dropbox/dev-mgi/scraper → Este é o repositório mais backend. Ele contém o Scraper -- /Users/nitai/Dropbox/dev-mgi/destaquesgovbr-portal +- /Users/nitai/Dropbox/dev-mgi/portal → Este é o portal, a aplicação principal. Aqui existe um workflow de atualização do portal no gcp para todo push na branch main -- /Users/nitai/Dropbox/dev-mgi/destaquesgovbr-typesense +- /Users/nitai/Dropbox/dev-mgi/typesense → Aqui está o typensense rodando em docker para desenvolvimento local -- /Users/nitai/Dropbox/dev-mgi/destaquesgovbr-infra +- /Users/nitai/Dropbox/dev-mgi/infra → Aqui está a infraestrutura como código em terraform para subir no gcp -- /Users/nitai/Dropbox/dev-mgi/destaquesgovbr-agencies +- /Users/nitai/Dropbox/dev-mgi/agencies → Este repositório não contém código, ainda. Ele contém 2 arquivos de dados estruturantes dos órgãos. Um arquivo possui os dados de cada órgão incluindo a URL das notícias utilizada no scraper, e o outro @@ -162,8 +162,8 @@ Demais repositórios que devem ser cobertos pela documentação: A árvore temática é um componente chave do sistema, pois é a base para a classificação das notícias e para os filtros de navegação no portal. A árvore temática está aqui: - - @/Users/nitai/Dropbox/dev-mgi/govbrnews-scraper/src/enrichment/themes_tree.yaml - - @/Users/nitai/Dropbox/dev-mgi/destaquesgovbr-portal/src/lib/themes.yaml + - @/Users/nitai/Dropbox/dev-mgi/scraper/src/enrichment/themes_tree.yaml + - @/Users/nitai/Dropbox/dev-mgi/portal/src/lib/themes.yaml Pretendo criar um novo repositório para armazenar esta documentação geral do DestaquesGovBr. @@ -210,7 +210,7 @@ Perguntas de clarificação: com o projeto ser do governo brasileiro) ou inglês (para potencial internacionalização)? -6. **Integração com docs existentes**: Notei que destaquesgovbr-infra já tem +6. **Integração com docs existentes**: Notei que infra já tem documentação em docs/. Prefere: - Migrar essa documentação para o novo repositório centralizado - Manter a documentação de infra lá e apenas referenciar diff --git a/docs/workflows/docker-builds.md b/docs/workflows/docker-builds.md index f1034f8..687a213 100644 --- a/docs/workflows/docker-builds.md +++ b/docs/workflows/docker-builds.md @@ -6,10 +6,10 @@ O projeto usa Docker para containerização de dois serviços principais: -| Serviço | Imagem | Registry | -| ------- | ----------------------- | ------------------------- | -| Scraper | `govbrnews-scraper` | GitHub Container Registry | -| Portal | `destaquesgovbr-portal` | GCP Artifact Registry | +| Serviço | Imagem | Registry | +| ------- | --------- | ------------------------- | +| Scraper | `scraper` | GitHub Container Registry | +| Portal | `portal` | GCP Artifact Registry | ```mermaid flowchart LR @@ -29,7 +29,7 @@ flowchart LR ## Build do Scraper -**Arquivo**: `govbrnews-scraper/.github/workflows/docker-build.yaml` +**Arquivo**: `scraper/.github/workflows/docker-build.yaml` ### Trigger @@ -122,9 +122,9 @@ CMD ["python", "src/main.py", "--help"] Para tag `v1.2.3`: -- `ghcr.io/destaquesgovbr/govbrnews-scraper:1.2.3` -- `ghcr.io/destaquesgovbr/govbrnews-scraper:1.2` -- `ghcr.io/destaquesgovbr/govbrnews-scraper:latest` +- `ghcr.io/destaquesgovbr/scraper:1.2.3` +- `ghcr.io/destaquesgovbr/scraper:1.2` +- `ghcr.io/destaquesgovbr/scraper:latest` ### Execução @@ -141,7 +141,7 @@ gh workflow run docker-build.yaml ## Build do Portal -**Arquivo**: `destaquesgovbr-portal/.github/workflows/deploy-production.yml` +**Arquivo**: `portal/.github/workflows/deploy-production.yml` > O build do portal está integrado ao workflow de deploy (ver [portal-deploy.md](./portal-deploy.md)). @@ -224,7 +224,7 @@ echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin ### Pull de imagem ```bash -docker pull ghcr.io/destaquesgovbr/govbrnews-scraper:latest +docker pull ghcr.io/destaquesgovbr/scraper:latest ``` ### Permissões @@ -255,19 +255,19 @@ docker push us-east1-docker.pkg.dev/PROJECT_ID/destaquesgovbr/portal:TAG ### Scraper ```bash -cd govbrnews-scraper +cd scraper # Build -docker build -t govbrnews-scraper . +docker build -t scraper . # Executar -docker run --env-file .env govbrnews-scraper python src/main.py --help +docker run --env-file .env scraper python src/main.py --help ``` ### Portal ```bash -cd destaquesgovbr-portal +cd portal # Build (precisa das vars de ambiente) docker build \ @@ -275,10 +275,10 @@ docker build \ --build-arg TYPESENSE_PORT=8108 \ --build-arg TYPESENSE_PROTOCOL=http \ --build-arg TYPESENSE_API_KEY=xyz \ - -t destaquesgovbr-portal . + -t portal . # Executar -docker run -p 3000:3000 destaquesgovbr-portal +docker run -p 3000:3000 portal ``` --- diff --git a/docs/workflows/portal-deploy.md b/docs/workflows/portal-deploy.md index e703543..f3fd169 100644 --- a/docs/workflows/portal-deploy.md +++ b/docs/workflows/portal-deploy.md @@ -2,7 +2,7 @@ > Deploy automatizado do portal Next.js para Google Cloud Run. -**Arquivo**: `destaquesgovbr-portal/.github/workflows/deploy-production.yml` +**Arquivo**: `portal/.github/workflows/deploy-production.yml` ## Visão Geral @@ -84,7 +84,7 @@ build-and-deploy: - name: Deploy to Cloud Run run: | - gcloud run deploy destaquesgovbr-portal \ + gcloud run deploy portal \ --image us-east1-docker.pkg.dev/${{ secrets.GCP_PROJECT }}/destaquesgovbr/portal:${{ github.sha }} \ --region us-east1 \ --platform managed \ @@ -245,13 +245,13 @@ sequenceDiagram gh run list --workflow=deploy-production.yml # Status do Cloud Run -gcloud run services describe destaquesgovbr-portal --region=us-east1 +gcloud run services describe portal --region=us-east1 ``` ### Logs do Cloud Run ```bash -gcloud run services logs read destaquesgovbr-portal --region=us-east1 +gcloud run services logs read portal --region=us-east1 ``` --- @@ -262,10 +262,10 @@ gcloud run services logs read destaquesgovbr-portal --region=us-east1 ```bash # Listar revisões -gcloud run revisions list --service=destaquesgovbr-portal --region=us-east1 +gcloud run revisions list --service=portal --region=us-east1 # Voltar para revisão anterior -gcloud run services update-traffic destaquesgovbr-portal \ +gcloud run services update-traffic portal \ --to-revisions==100 \ --region=us-east1 ``` diff --git a/docs/workflows/scraper-pipeline.md b/docs/workflows/scraper-pipeline.md index 436ab48..29da0af 100644 --- a/docs/workflows/scraper-pipeline.md +++ b/docs/workflows/scraper-pipeline.md @@ -2,7 +2,7 @@ > Pipeline diário de coleta e enriquecimento de notícias. -**Arquivo**: `govbrnews-scraper/.github/workflows/main-workflow.yaml` +**Arquivo**: `scraper/.github/workflows/main-workflow.yaml` ## Visão Geral @@ -66,7 +66,7 @@ Raspa notícias dos sites gov.br. scraper: runs-on: ubuntu-latest container: - image: ghcr.io/destaquesgovbr/govbrnews-scraper:latest + image: ghcr.io/destaquesgovbr/scraper:latest steps: - name: Scrape gov.br sites run: | @@ -88,7 +88,7 @@ ebc-scraper: needs: scraper runs-on: ubuntu-latest container: - image: ghcr.io/destaquesgovbr/govbrnews-scraper:latest + image: ghcr.io/destaquesgovbr/scraper:latest steps: - name: Scrape EBC sites run: | @@ -111,7 +111,7 @@ upload-to-cogfy: needs: ebc-scraper runs-on: ubuntu-latest container: - image: ghcr.io/destaquesgovbr/govbrnews-scraper:latest + image: ghcr.io/destaquesgovbr/scraper:latest steps: - name: Upload to Cogfy run: | @@ -150,7 +150,7 @@ enrich-themes: needs: wait-cogfy runs-on: ubuntu-latest container: - image: ghcr.io/destaquesgovbr/govbrnews-scraper:latest + image: ghcr.io/destaquesgovbr/scraper:latest steps: - name: Enrich with themes run: | diff --git a/docs/workflows/typesense-data.md b/docs/workflows/typesense-data.md index 2efbd29..a342b5c 100644 --- a/docs/workflows/typesense-data.md +++ b/docs/workflows/typesense-data.md @@ -4,8 +4,8 @@ **Arquivos**: -- `destaquesgovbr-infra/.github/workflows/typesense-daily-load.yml` -- `destaquesgovbr-infra/.github/workflows/typesense-full-reload.yml` +- `infra/.github/workflows/typesense-daily-load.yml` +- `infra/.github/workflows/typesense-full-reload.yml` ## Visão Geral diff --git a/mkdocs.yml b/mkdocs.yml index 40296a8..1717112 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -66,6 +66,8 @@ nav: - Secrets & IAM: infraestrutura/secrets-iam.md - Onboarding: - Roteiro: onboarding/roteiro-onboarding.md + - Git Fundamentos: onboarding/git-fundamentos.md + - GitHub Colaboração: onboarding/github-colaboracao.md - Setup Backend: onboarding/setup-backend.md - Setup Frontend: onboarding/setup-frontend.md - Setup Dev VM: onboarding/setup-devvm.md