Plataforma central de acesso aos sistemas e ferramentas da Secretaria de Ciência, Tecnologia e Inovação da Bahia.
O Hub SECTI é o portal unificado que concentra todos os sistemas, painéis e ferramentas digitais da Secretaria de Ciência, Tecnologia e Inovação do Estado da Bahia. A plataforma oferece:
- 🗂️ Catálogo de sistemas — acesso centralizado a todos os sistemas da secretaria
- 📊 Painéis de dados — visualização de indicadores de conectividade, territórios e projetos
- 📰 Linha do tempo de notícias — últimas atualizações do portal SECTI
- 🌐 Integrações em tempo real — dados ao vivo do Conecta Bahia e SECTI Territórios
| Categoria | Tecnologia |
|---|---|
| Framework | Next.js 16 (App Router) |
| Linguagem | TypeScript |
| Estilização | Tailwind CSS 4 |
| Componentes | Radix UI + Lucide Icons |
| Temas | next-themes (claro/escuro) |
| Gerenciador | pnpm |
| Deploy | Netlify |
| Analytics | Vercel Analytics |
hubSECTI/
├── app/ # Next.js App Router
│ ├── api/
│ │ ├── frame-check/ # Verificação de iframe (X-Frame-Options/CSP)
│ │ └── hub/
│ │ ├── conecta/ # Proxy para API Conecta Bahia
│ │ ├── conecta-resumo/ # Dados agregados do Conecta Bahia
│ │ ├── image-proxy/ # Proxy de imagens com cache
│ │ ├── noticias/ # Scraper de notícias do portal SECTI
│ │ └── territorios/ # Proxy para API SECTI Territórios
│ ├── layout.tsx # Layout raiz com metadados
│ └── page.tsx # Página principal (landing page)
├── components/
│ ├── ui/ # Biblioteca de componentes UI (Radix + Tailwind)
│ ├── header.tsx # Cabeçalho com navegação
│ ├── hero.tsx # Seção hero com timeline de notícias
│ ├── systems-section.tsx # Grade de sistemas da SECTI
│ ├── about-section.tsx # Seção "Sobre" com estatísticas
│ ├── hub-integracoes-section.tsx # Cards de integração (Conecta, Territórios)
│ ├── secti-timeline-section.tsx # Linha do tempo de eventos
│ ├── footer.tsx # Rodapé
│ └── ...
├── lib/
│ ├── conecta-coverage.ts # Lógica de cobertura do Conecta Bahia
│ ├── conecta-reference.ts # Valores de referência/fallback
│ ├── image-proxy.ts # Utilitário de proxy de imagens
│ └── utils.ts # Funções utilitárias
├── integrations/
│ └── netlify-functions/ # Funções serverless auxiliares
│ ├── mapfilter-BA/ # Função de mapeamento EPT
│ └── SECTI_TERRITORIOS/ # Função de dados territoriais
├── public/ # Assets estáticos
├── netlify.toml # Configuração de deploy no Netlify
├── next.config.mjs # Configuração do Next.js
├── tsconfig.json # Configuração do TypeScript
└── package.json # Dependências e scripts
| Rota | Descrição |
|---|---|
GET /api/hub/conecta |
Proxy para dados do Conecta Bahia (pontos de Wi-Fi) |
GET /api/hub/conecta-resumo |
Resumo agregado: municípios, territórios e pontos instalados |
GET /api/hub/territorios |
Proxy para dados do SECTI Territórios |
GET /api/hub/noticias |
Scraper de notícias do portal oficial da SECTI |
GET /api/frame-check?url= |
Verifica se uma URL permite ser carregada em iframe |
GET /api/hub/image-proxy/[...] |
Proxy de imagens com cache otimizado |
- Conecta Bahia —
conectabahia.netlify.app— dados de conectividade e pontos Wi-Fi - SECTI Territórios —
secti-territorios.netlify.app— dados de mapeamento territorial - Portal SECTI —
www.ba.gov.br/secti/noticias— notícias oficiais da secretaria
# Clone o repositório
git clone <repo-url>
cd hubSECTI
# Instale as dependências
pnpm install
# Inicie o servidor de desenvolvimento
pnpm devO projeto estará disponível em http://localhost:3000.
| Comando | Descrição |
|---|---|
pnpm dev |
Inicia servidor de desenvolvimento com hot-reload |
pnpm build |
Gera build de produção |
pnpm start |
Inicia servidor de produção |
pnpm lint |
Executa ESLint no projeto |
O projeto é configurado para deploy contínuo no Netlify com o plugin @netlify/plugin-nextjs. O build é feito automaticamente a partir da branch principal.
# netlify.toml
[build]
command = "corepack pnpm build"
publish = ".next"
[[plugins]]
package = "@netlify/plugin-nextjs"A aplicação suporta temas claro e escuro via next-themes, com detecção automática da preferência do sistema operacional.
Este projeto é de uso interno da Secretaria de Ciência, Tecnologia e Inovação do Estado da Bahia (SECTI).
Desenvolvido para a SECTI-BA 🏛️