DevPath · Aprenda a programar ESPTEN

Projeto: blog full-stack

O plano: modelar um blog

Um blog é, acima de tudo, dados

Por trás de qualquer blog há duas entidades que se relacionam:

Esta é uma relação um para muitos (1:N): um post tem muitos comentários, mas cada comentário pertence a um único post. A coluna post_id da tabela comentarios é a chave estrangeira que materializa essa relação.

posts ──< (post_id) comentarios
  1                    N

O slug: uma URL legível

O titulo de um post é para as pessoas: "Meu primeiro post". Mas uma URL com espaços e acentos é frágil. Por isso geramos um slug: uma versão do título apta para URLs, em minúsculas e com hifens no lugar de espaços.

"Aprendendo SQL"  →  /posts/aprendendo-sql

O slug é estável e único: mesmo que você mude o título visível, o link pode continuar funcionando. E é legível, o que ajuda as pessoas e o SEO.

Paginação: não carregue tudo

Um blog com centenas de posts não pode enviá-los todos de uma vez. A paginação divide a listagem em páginas de tamanho fixo (p. ex. 10 por página) e o cliente pede a que quer: /posts?page=2. Em SQL isso é LIMIT + OFFSET; em JavaScript, um slice sobre o array.

Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
Dos dados à tela →