Published

23/07/2026

Modified

22/07/2026

Documentação da API - Portfolio Equipe 2025

Visão Geral

O Portfolio Equipe 2025 é um bot de chat, portanto não possui API REST tradicional. No entanto, este documento descreve as interfaces e integrações disponíveis.

Integrações Externas

1. GitLab API

Informações do Repositório

GET https://git.juninho.com.br/api/v4/projects/{project_id}

Resposta:

{
  "id": 123,
  "name": "portfolio-equipe-2025",
  "description": "Portfólio profissional da equipe",
  "web_url": "https://git.juninho.com.br/equipe-gpso/portfolio-equipe-2025",
  "created_at": "2025-03-15T10:00:00Z",
  "last_activity_at": "2025-03-15T15:30:00Z"
}

Status do Pipeline

GET https://git.juninho.com.br/api/v4/projects/{project_id}/pipelines

Resposta:

{
  "id": 456,
  "status": "success",
  "ref": "main",
  "created_at": "2025-03-15T15:30:00Z",
  "finished_at": "2025-03-15T15:32:00Z",
  "duration": 120
}

2. GitLab Pages

URL do Site

https://equipe-gpso.git.juninho.com.br/portfolio-equipe-2025/

Estrutura de URLs

  • Página Principal: /
  • Sobre: /about/
  • Equipe: /team/
  • Membro Individual: /team/member1/
  • Documentação: /docs/

Estrutura de Dados

1. Configuração do Site (config.toml)

baseURL = "https://equipe-gpso.git.juninho.com.br/portfolio-equipe-2025/"
languageCode = "pt-br"
title = "Portfolio Equipe 2025"
theme = "ananke"

[params]
  description = "Portfólio profissional da equipe desenvolvido com Hugo"
  author = "Equipe GPSO 2025"
  keywords = ["portfolio", "hugo", "gitlab", "cefet-mg", "gestão de projetos"]

2. Metadados das Páginas

Página Principal

---
title: "Portfolio Equipe 2025"
date: 2025-03-15T10:00:00Z
draft: false
---

Página de Membro

---
title: "João Silva - Gerente de Projeto"
date: 2025-03-15T10:00:00Z
draft: false
---

Endpoints de Documentação

1. README Principal

GET /README.html

2. Documentação do Projeto

GET /docs/
GET /docs/project-charter.html
GET /docs/requirements.html
GET /docs/architecture.html
GET /docs/api-documentation.html
GET /docs/user-guide.html

3. Índice da Documentação

GET /docs/index.html

Formato de Dados

1. Markdown Front Matter

---
title: "Título da Página"
date: 2025-03-15T10:00:00Z
draft: false
author: "Nome do Autor"
tags: ["tag1", "tag2"]
categories: ["categoria"]
---

2. Estrutura de Conteúdo

# Título Principal

## Subtítulo

Conteúdo em Markdown...

### Lista
- Item 1
- Item 2

### Código
```bash
comando de exemplo

2. Processamento de Documentação

# Converter README.md para HTML
pandoc README.md -o public/docs/README.html --standalone --css=../css/docs.css

# Converter outros arquivos .md da pasta docs/
for file in docs/*.md; do
  if [ -f "$file" ]; then
    filename=$(basename "$file" .md)
    pandoc "$file" -o "public/docs/${filename}.html" --standalone --css=../css/docs.css
  fi
done

Headers HTTP

1. Headers de Segurança

X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Strict-Transport-Security: max-age=31536000; includeSubDomains

2. Headers de Cache

Cache-Control: public, max-age=3600
ETag: "abc123"
Last-Modified: Wed, 15 Mar 2025 10:00:00 GMT

Códigos de Status HTTP

1. Sucesso

  • 200 OK: Página carregada com sucesso
  • 304 Not Modified: Conteúdo não modificado

2. Redirecionamento

  • 301 Moved Permanently: Redirecionamento permanente
  • 302 Found: Redirecionamento temporário

3. Erro do Cliente

  • 404 Not Found: Página não encontrada
  • 403 Forbidden: Acesso negado

4. Erro do Servidor

  • 500 Internal Server Error: Erro interno do servidor
  • 503 Service Unavailable: Serviço indisponível

Limitações e Considerações

1. Site Estático

  • Não há processamento server-side
  • Não há banco de dados
  • Não há autenticação de usuários

2. GitLab Pages

  • Limitação de tamanho do repositório
  • Limitação de largura de banda
  • Dependência da disponibilidade do GitLab

3. Hugo

  • Limitação de temas disponíveis
  • Dependência de versão específica
  • Processamento local necessário

Monitoramento

1. Status do Site

curl -I https://equipe-gpso.git.juninho.com.br/portfolio-equipe-2025/

2. Status do Pipeline

curl -H "PRIVATE-TOKEN: {token}" \
  https://git.juninho.com.br/api/v4/projects/{project_id}/pipelines

3. Logs de Build

  • Disponíveis no GitLab CI/CD
  • Acessíveis via interface web
  • Retidos por 30 dias

Troubleshooting

1. Site Não Carrega

  • Verificar status do pipeline
  • Verificar configuração do GitLab Pages
  • Verificar sintaxe do Hugo

2. Pipeline Falha

  • Verificar sintaxe do .gitlab-ci.yml
  • Verificar permissões do repositório
  • Verificar logs de erro

3. Documentação Não Converte

  • Verificar sintaxe do Markdown
  • Verificar instalação do Pandoc
  • Verificar permissões de arquivo

Próximas Melhorias

1. API REST

2. Webhooks

3. Monitoramento

Back to top