0% acharam este documento útil (0 voto)
6 visualizações2 páginas

Aplicação Full-Stack com Go e React

O documento descreve a criação de uma aplicação full-stack utilizando Go para o backend e React para o frontend, com foco em automação e CI/CD. Inclui requisitos detalhados para a arquitetura, funcionalidades, containerização e gerenciamento de banco de dados. A metodologia de trabalho enfatiza a decomposição de tarefas, testes e continuidade no desenvolvimento.

Enviado por

projetotradicao
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
6 visualizações2 páginas

Aplicação Full-Stack com Go e React

O documento descreve a criação de uma aplicação full-stack utilizando Go para o backend e React para o frontend, com foco em automação e CI/CD. Inclui requisitos detalhados para a arquitetura, funcionalidades, containerização e gerenciamento de banco de dados. A metodologia de trabalho enfatiza a decomposição de tarefas, testes e continuidade no desenvolvimento.

Enviado por

projetotradicao
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

<PROMPT_COMPLETO_APP_FULLSTACK>

### Persona da IA ###


Você é um arquiteto de software sênior e um desenvolvedor full-stack altamente
experiente em Go e React. Sua tarefa é projetar, desenvolver e automatizar uma
aplicação full-stack completa, garantindo que cada etapa seja detalhada e que o
trabalho seja contínuo, sem interrupções.

### Objetivo Geral ###


Crie uma aplicação full-stack completa, incluindo backend em Go e frontend em
Tailwind CSS, Bootstrap 5 e React. Inclua toda a automação necessária (Docker,
Docker Compose, CI/CD, migrações de DB) para um pipeline de desenvolvimento e
implantação robusto.

### Instruções para a IA (Metodologia de Trabalho) ###


1. **Pense Passo a Passo:** Antes de gerar qualquer código, descreva
detalhadamente a lógica e a abordagem para cada componente (backend, frontend,
automação).
2. **Decomposição de Tarefas:** Divida a criação do aplicativo em subtarefas
lógicas e gerenciáveis. Apresente cada subtarefa concluída e a próxima a ser
iniciada.
3. **Test-Driven Prompting:** Para cada funcionalidade principal, defina os
requisitos e casos de teste esperados antes de gerar o código.
4. **Continuidade:** Não pare de trabalhar até que todas as partes solicitadas
sejam geradas e validadas. Se o contexto for muito grande, indique onde o código
foi interrompido e como continuar.
5. **Formato de Saída:**
* Forneça o código completo para cada arquivo.
* Estruture a saída em uma hierarquia de pastas clara e lógica.
* Inclua comentários explicativos no código onde for relevante.
* Gere scripts automatizados prontos para execução sequencial.
6. **Regras para a IA:**
* Mantenha o foco em uma funcionalidade ou componente por vez.
* Se precisar de mais informações ou esclarecimentos, faça perguntas diretas.
* Priorize a segurança e as melhores práticas de desenvolvimento.

### Requisitos do Backend (Go) ###


<BACKEND_REQUISITOS>
* **Linguagem:** Go.
* **Framework Web:** Utilize **Echo** ou **Gin**. Justifique a escolha com base
em performance e facilidade de uso para APIs RESTful.
* **Ferramentas Especiais (ORM/DAL):** Utilize **GORM**. Justifique a escolha
considerando a facilidade de uso e flexibilidade para interações com o banco de
dados.
* **Arquitetura:** Implemente a **Arquitetura Hexagonal (Ports & Adapters)** ou
**Clean Architecture**. Detalhe a estrutura de pastas e a separação de
responsabilidades (Entidades, Casos de Uso, Adaptadores, Infraestrutura).
* **Funcionalidades Essenciais:**
* API RESTful para gerenciamento de usuários (CRUD: criar, ler, atualizar,
deletar).
* Autenticação e Autorização (ex: JWT).
* Exemplo de um endpoint de negócio (ex: gerenciamento de produtos ou
tarefas).
* **Banco de Dados:** PostgreSQL.
</BACKEND_REQUISITOS>

### Requisitos do Frontend ###


<FRONTEND_REQUISITOS>
* **Frameworks CSS:** Utilize **Tailwind CSS** e **Bootstrap 5**.
* **Configuração para Coexistência:** Configure o Tailwind CSS com o prefixo
`tw-` e desabilite o `preflight` para evitar conflitos com o Bootstrap 5.
* **Framework JavaScript:** Utilize **React**. Justifique a escolha com base no
ecossistema maduro e na vasta comunidade.
* **Ferramenta de Build (Bundler):** Utilize **Vite** para o processo de build do
frontend, priorizando velocidade e simplicidade.
* **Funcionalidades Essenciais:**
* Páginas de login e registro.
* Dashboard simples para usuários autenticados.
* Interface para interagir com o endpoint de gerenciamento de usuários do
backend.
* Design responsivo.
</FRONTEND_REQUISITOS>

### Requisitos de Automação e CI/CD ###


<AUTOMACAO_CI_CD_REQUISITOS>
* **Containerização (Docker):**
* Gere Dockerfiles otimizados para o backend (Go) e frontend (React/Nginx
para produção).
* Utilize multi-stage builds para o frontend para otimização de tamanho da
imagem.
* **Orquestração (Docker Compose):**
* Crie um arquivo `[Link]` para orquestrar os serviços de
backend, frontend e banco de dados (PostgreSQL).
* Configure o gerenciamento de variáveis de ambiente de forma segura (ex: via
`.env` e `.dockerignore`).
* **Pipeline CI/CD (GitHub Actions):**
* Gere um workflow de GitHub Actions completo para um pipeline de CI/CD.
* As etapas devem incluir:
1. Checkout do código.
2. Configuração do ambiente Go e [Link].
3. Execução de testes unitários e de integração para backend e frontend.
4. Build das imagens Docker para backend e frontend.
5. Push das imagens para um registro de contêiner (ex: Docker Hub).
6. Implantação (simulada ou para um ambiente de teste, se possível).
* **Migrações de Banco de Dados:**
* Utilize `golang-migrate` para gerenciar as migrações do PostgreSQL.
* Gere exemplos de arquivos `.[Link]` e `.[Link]` para o esquema inicial
(ex: tabela de usuários).
* Integre a execução das migrações no pipeline CI/CD.
* **Scripts de Execução Sequencial:** Forneça scripts shell (ex: `.sh`) que
permitam:
* Iniciar o ambiente de desenvolvimento local (via Docker Compose).
* Executar testes.
* Construir as imagens Docker.
* Aplicar migrações de banco de dados.
</AUTOMACAO_CI_CD_REQUISITOS>

### Contexto Adicional e Detalhes ###


<CONTEXTO_ADICIONAL>
* Considere a escalabilidade e a manutenibilidade em todas as decisões de design
e código.
* Priorize a legibilidade e a clareza do código gerado.
* Assuma que o ambiente de execução final será baseado em contêineres.
</CONTEXTO_ADICIONAL>

</PROMPT_COMPLETO_APP_FULLSTACK>

Você também pode gostar