Arquitetura Tainacan
A arquitetura do Tainacan segue um modelo em camadas, combinando a estrutura consolidada do WordPress com tecnologias modernas de frontend e integração via API REST. Essa abordagem permite alta escalabilidade, flexibilidade e separação de responsabilidades entre interface, lógica de negócio e persistência de dados.
Além disso, o projeto é dividido em diferentes repositórios no GitHub, cada um responsável por uma parte específica do sistema.
Organização dos Repositórios
O ecossistema do Tainacan é distribuído principalmente nos seguintes repositórios:
🔹 tainacan (Plugin principal)
Repositório central do sistema.
Responsável por:
- Implementação da lógica de negócio
- Estrutura de coleções, itens e metadados
- Integração com o WordPress
- Exposição da API REST
Tecnologias:
- PHP (backend)
- WordPress (CMS base)
🔹 tainacan-interface
Responsável pela interface administrativa do sistema.
Função:
- Gerenciamento visual das coleções
- Criação e edição de itens
- Configuração de metadados e taxonomias
Tecnologias:
- Vue.js
- JavaScript moderno (ES6+)
- Comunicação via API REST
🔹 tainacan-themes
Conjunto de temas utilizados para exibição pública dos dados.
Função:
- Renderização das coleções no frontend
- Customização visual do repositório
- Integração com blocos do WordPress
Tecnologias:
- PHP
- HTML/CSS
- React (Gutenberg)
Camada de Aplicação (Backend)
O backend do Tainacan é implementado como um plugin do WordPress, utilizando PHP como linguagem principal.
Responsabilidades:
- Gerenciamento de coleções e itens
- Definição e validação de metadados
- Controle de permissões e usuários
- Implementação das regras de negócio
- Exposição de endpoints REST
O backend utiliza a infraestrutura do WordPress para:
- Autenticação
- Gerenciamento de usuários
- Persistência de dados
Banco de Dados
O armazenamento é realizado em:
- MySQL ou MariaDB
Os dados são estruturados utilizando:
- Tabelas nativas do WordPress
- Custom Post Types (para itens)
- Taxonomias personalizadas
- Metadados armazenados como post meta
Essa abordagem permite compatibilidade total com o ecossistema WordPress.
Camada de Apresentação (Frontend Administrativo)
A interface administrativa do Tainacan é construída como uma Single Page Application (SPA), utilizando Vue.js.
Características:
- Navegação dinâmica sem recarregamento de página
- Interface altamente interativa
- Comunicação assíncrona com o backend
- Atualizações em tempo real via API
Funcionamento
O frontend consome a API REST do Tainacan para:
- Criar e editar coleções
- Gerenciar itens
- Configurar metadados
- Aplicar filtros e buscas
Essa separação entre frontend e backend melhora:
- Performance
- Manutenibilidade
- Escalabilidade do sistema
Camada de Apresentação (Frontend Público)
A camada pública é responsável pela exibição dos dados para os usuários finais.
Ela é construída utilizando o próprio WordPress, com suporte a temas e blocos.
Tecnologias envolvidas:
- PHP (renderização server-side)
- React (blocos Gutenberg)
- HTML, CSS e JavaScript
Funcionalidades:
- Exibição de coleções e itens
- Interface de busca e filtragem
- Navegação por taxonomias
- Customização visual via temas
Essa abordagem permite que o sistema seja facilmente adaptado ao design institucional.
Camada de Integração
A comunicação entre todas as camadas ocorre por meio de uma API RESTful.
Responsabilidades:
- Intermediar comunicação entre frontend e backend
- Padronizar acesso aos dados
- Permitir integração com sistemas externos
Fluxo de Dados
graph TD
A[Usuário] --> B[Interface Vue.js / React]
B --> C[API REST - Tainacan]
C --> D[WordPress - PHP]
D --> E[Banco de Dados - MySQL/MariaDB]
Essa arquitetura desacoplada permite que outros sistemas consumam os dados do Tainacan sem depender diretamente da interface padrão.
Histórico de Versões
| Versão | Data | Descrição | Autor(es) |
|---|---|---|---|
1.0 |
12/04/2026 | Criação da pagina conheça o Tainacan | Mayara Alves |