LesterCerioli / LTS-Brazil-Website-2024

https://lucas-tecnologia-service.vercel.app
0 stars 0 forks source link

LTS-Brazil-WebsiteAs an Administrator, I want to create blog posts to share content with the site's visitors. #14

Open LesterCerioli opened 1 week ago

LesterCerioli commented 1 week ago

The administrator of the Lucas Technology Service website needs a feature to create and manage blog posts. This feature should allow the administrator to set the post's title, write the content, upload an image, and publish the post. The posts should be displayed on the blog page as cards, including an image, title, and text.

Acceptance Criteria:

  1. The administrator should be able to access a post creation page through the admin interface.

  2. The creation page should include the following fields: => Post Title (required) => Post Content (required) => Image Upload (optional)

  3. Upon filling out the form and submitting the post, the data should be sent to an internal API.

  4. The API should save the data in the Postgres database.

  5. After creating the post, it should be displayed as a card on the blog page, containing: => Image (if any) => Title => Text

  6. The list of posts on the blog should automatically load from the API.

  7. Posts should be displayed in descending order of creation date.

Technical Criteria:

Backend: Implement a RESTful API using Next.js to receive and store the post data in the Postgres database.

Frontend: The post creation form should be developed in React within Next.js, and the blog should display posts using cards.

Database: Use Postgres to store the posts, including fields for the title, content, image (URL), and creation date.

Image Uploads: Implement image uploads using multer or another library to handle files.

Styling: Use Tailwind CSS to style the form and post cards.

Definition of Done (DoD):

The administrator can create posts with a title, content, and image.

The posts are correctly displayed on the blog page as cards.

The post data is stored in the Postgres database.

The functionality is fully integrated with the existing system and accessible via the admin interface.


O administrador do site da Lucas Technology Service precisa de um recurso para criar e gerenciar postagens no blog. Esse recurso deve permitir que o administrador defina o título da postagem, escreva o conteúdo, faça upload de uma imagem e publique a postagem. As postagens devem ser exibidas na página do blog como cartões, incluindo uma imagem, título e texto.

Critérios de Aceitação:

O administrador deve poder acessar uma página de criação de postagens através da interface de administração.

A página de criação deve incluir os seguintes campos: => Título da Postagem (obrigatório) => Conteúdo da Postagem (obrigatório) => Upload de Imagem (opcional)

Após preencher o formulário e enviar a postagem, os dados devem ser enviados para uma API interna.

A API deve salvar os dados no banco de dados Postgres.

Depois de criar a postagem, ela deve ser exibida como um cartão na página do blog, contendo: => Imagem (se houver) => Título => Texto

A lista de postagens no blog deve ser carregada automaticamente a partir da API.

As postagens devem ser exibidas em ordem decrescente de data de criação.

Critérios Técnicos:

Backend: Implementar uma API RESTful usando Next.js para receber e armazenar os dados da postagem no banco de dados Postgres.

Frontend: O formulário de criação de postagens deve ser desenvolvido em React dentro do Next.js, e o blog deve exibir as postagens usando cartões.

Banco de Dados: Usar Postgres para armazenar as postagens, incluindo campos para título, conteúdo, imagem (URL) e data de criação.

Upload de Imagens: Implementar o upload de imagens usando multer ou outra biblioteca para lidar com arquivos.

Estilização: Usar Tailwind CSS para estilizar o formulário e os cartões de postagem.

Definição de Concluído (DoD):

O administrador pode criar postagens com título, conteúdo e imagem.

As postagens são exibidas corretamente na página do blog como cartões.

Os dados da postagem são armazenados no banco de dados Postgres.

A funcionalidade está totalmente integrada ao sistema existente e acessível via a interface de administração.