GenUI é uma biblioteca inovadora baseada em algoritmos genéticos interativos para a geração automatizada de interfaces gráficas de usuário (GUI). Este projeto é o resultado do Trabalho de Conclusão de Curso de Gean Ribeiro da Silva Júnior no Centro Universitário Farias Brito, com foco na automação do design de interfaces web.
- Geração automatizada de GUIs personalizadas.
- Utilização de algoritmos genéticos com operadores de seleção, cruzamento e mutação.
- Interatividade: o usuário pode escolher e avaliar as melhores soluções.
- Representação de interfaces através de matrizes irregulares (matriz jagged).
- Criação de componentes flexíveis e dinâmicos usando React, TypeScript, HTML e CSS.
- React: Biblioteca para construção de interfaces dinâmicas.
- TypeScript: Tipagem avançada para maior segurança no desenvolvimento.
- HTML e CSS: Tecnologias padrão para criação de interfaces web.
- JavaScript: Base de execução para o algoritmo no navegador.
O sistema pode ser acessado online através do site:
👉 https://gen-ui.geanribeiro.com/
- src/: Contém o código-fonte do projeto, incluindo a implementação do algoritmo genético e os componentes de interface.
- Definição Inicial: O usuário fornece definições abstratas dos componentes da interface (por exemplo, cabeçalhos, botões, etc.).
- Execução do Algoritmo:
- Seleção: Escolha das melhores soluções com base em critérios predefinidos.
- Cruzamento: Combinação das melhores soluções para gerar novos designs.
- Mutação: Alteração aleatória de componentes para explorar novas possibilidades.
- Interatividade: O usuário avalia as soluções geradas até alcançar o design ideal.
- Redução significativa no tempo necessário para criar GUIs funcionais e estéticas.
- Necessidade de apenas 2 a 7 interações para alcançar uma solução satisfatória.
- Interface final altamente personalizada e alinhada às expectativas do usuário.
- Node.js (>= 14.0)
- npm ou yarn
-
Clone o repositório:
git clone https://github.com/geanjunior/genui.git cd genui -
Instale as dependências:
yarn install
-
Execute o projeto:
yarn dev
-
Acesse no navetador:
http://localhost:5173/
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e enviar pull requests.
Este projeto está baseado no trabalho de conclusão de curso: Gean Ribeiro da Silva Júnior "Algoritmo Genético Interativo Aplicado a Bibliotecas de Interfaces Gráficas" Centro Universitário Farias Brito, 2024.