https://github.com/eduardoviega/springtoquarkusmigrationtcc
Ferramenta de Migração de Projetos, desenvolvida como parte do Trabalho de Conclusão de Curso (TCC) de Engenharia de Software
https://github.com/eduardoviega/springtoquarkusmigrationtcc
gpt-4o java openai-api prompt-engineering quarkus spring utfpr
Last synced: 3 months ago
JSON representation
Ferramenta de Migração de Projetos, desenvolvida como parte do Trabalho de Conclusão de Curso (TCC) de Engenharia de Software
- Host: GitHub
- URL: https://github.com/eduardoviega/springtoquarkusmigrationtcc
- Owner: eduardoviega
- License: mit
- Created: 2025-02-02T21:11:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-10T00:50:29.000Z (over 1 year ago)
- Last Synced: 2025-04-10T01:39:15.532Z (over 1 year ago)
- Topics: gpt-4o, java, openai-api, prompt-engineering, quarkus, spring, utfpr
- Language: Java
- Homepage:
- Size: 14.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Avaliação de Técnicas de Engenharia de Prompt na Migração de Framework Backend
Este repositório contém a ferramenta de migração automatizada de projetos Spring para Quarkus, desenvolvida como parte do Trabalho de Conclusão de Curso (TCC) em Engenharia de Software. O objetivo da ferramenta é após o uso dela, poder avaliar técnicas de engenharia de prompt na conversão de código utilizando inteligência artificial. O repositório abrange tanto o frontend (Angular) quanto o backend (Quarkus).

## Tecnologias Utilizadas
- **Frontend**: Angular 17.3.0.
- **Backend**: Quarkus 3.13.0 - Java 21.
- **API de IA**: OpenAI com o modelo GPT-4o.
## Funcionamento
A ferramenta recebe arquivos de código fonte de projetos Spring e utiliza o modelo de IA GPT-4o para gerar sugestões de converção dos arquivos no formato adequado para Quarkus. O usuário pode visualizar os arquivos migrados e escolher entre diferentes técnicas de engenharia de prompt para otimizar a conversão.
## Interface da Ferramenta

## Interface da Ferramenta Preenchida

## Diagrama de Contexto

## Instalação e Execução
### 1. Clonar o repositório
```sh
git clone https://github.com/eduardoviega/SpringToQuarkusMigrationTCC
cd SpringToQuarkusMigrationTCC
```
### 2. Configuração do Backend da Ferramenta
#### 2.2. Configurar a Chave da API
No arquivo **application.properties** no backend, defina a sua chave de api:
```application.properties
api-key=sua_chave_api
```
#### 2.3. Executar a Aplicação
```sh
cd spring-to-quarkus-backend
./mvnw quarkus:dev
```
### 3. Configuração do Frontend da Ferramenta
#### 3.1. Instalar Dependências
```sh
cd spring-to-quarkus-frontend
npm install
```
#### 3.2. Executar o Frontend
```sh
ng serve
```
## Prompts e Resultados
Para chegar nos resultados, foram enviados para a ferramenta os arquivos das classes java, o arquivo application.properties e o arquivo pom.xml.
- Os prompts de cada técnica utilizada podem ser encontrados pelo caminho abaixo:
```./spring-to-quarkus-backend/prompts```
- Os resultados da aplicação dos prompts podem ser utilizados na ferramenta pelo enum RespostasTecnicasEnum e também podem ser encontrados pelo caminho abaixo:
```./experimentos/resultados-prompts```