Skip to content

Desafio: Plugin de favoritos com REST API e persistência em tabela customizada#73

Open
Mascimo wants to merge 2 commits intoApiki:masterfrom
Mascimo:pedro-henrique-mascimo
Open

Desafio: Plugin de favoritos com REST API e persistência em tabela customizada#73
Mascimo wants to merge 2 commits intoApiki:masterfrom
Mascimo:pedro-henrique-mascimo

Conversation

@Mascimo
Copy link
Copy Markdown

@Mascimo Mascimo commented Mar 21, 2026

Descrição

Desenvolvimento de um plugin WordPress que permite favoritar e desfavoritar posts para usuários logados utilizando a REST API.

Funcionalidades

  • Favoritar e desfavoritar posts
  • Listagem de posts favoritados por usuário
  • Persistência dos dados em tabela customizada no banco
  • Criação automática da tabela ao ativar o plugin
  • Sistema de versionamento da tabela para futuras atualizações

Tecnologias utilizadas

  • PHP (orientado a objetos)
  • WordPress REST API
  • MySQL

Estrutura do projeto

  • Arquitetura baseada em classes:
    • Plugin (bootstrap)
    • API (endpoints REST)
    • Database (criação e atualização da tabela)
    • Favorites (regras de negócio)

Observações

  • Código estruturado seguindo boas práticas do WordPress
  • Separação de responsabilidades
  • Preparado para expansão futura

Mascimo added 2 commits March 21, 2026 14:14
…izada

Implementa funcionalidade de favoritar posts com persistência em tabela customizada
Melhora validação de parâmetros, sanitização de dados e retorno da API
@Mascimo
Copy link
Copy Markdown
Author

Mascimo commented Mar 22, 2026

Realizei melhorias focadas em validação, segurança e padronização da API:

  • Validação e sanitização do post_id via args no REST
  • Melhor tratamento de permissões com retorno WP_Error (401)
  • Tipagem e sanitização dos dados antes das queries
  • Tratamento de erros no banco (WP_Error)
  • Validação de existência e status do post antes de favoritar
  • Melhoria no controle de versão da tabela (version_compare)
  • Otimização de query com índice no banco
  • Melhorias no JS (tratamento de erro, eventos e acessibilidade)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant