A IA contribuiu para mudar e aumentar a eficiência no meu trabalho diário
Como desenvolvedor, criar um serviço de processamento de pedidos às vezes pode parecer cansativo quando você tem um prazo limitado. No entanto, com o poder das ferramentas de desenvolvimento orientadas por IA, como ChatGPT, você pode acelerar significativamente o processo gerando código, projetando entidades e resolvendo problemas passo a passo. Neste artigo, explicarei como usei o ChatGPT para construir um serviço de processamento de pedidos totalmente funcional em apenas 2 dias, desde a coleta dos requisitos até a conclusão.
Honestamente, existem muitos pequenos tópicos e solicitações para pequenas tarefas diferentes que não consigo resumir em um projeto completo, mas no geral... isso me ajudou de 70 a 80%. Além disso, aqui está parte do código original, depois de revisá-lo, ele pode ter sido modificado manualmente, então você pode não encontrar esta função no github que compartilhei.
A primeira coisa que fiz foi listar os principais recursos necessários para o serviço. Aqui estão as principais funcionalidades que eu precisava:
Pedi ao ChatGPT para me ajudar a projetar a estrutura da API para os requisitos. Aqui está um exemplo do primeiro prompt que usei:
Incitar:
Crie endpoints de API para um sistema de registro de usuários usando Spring Boot, onde os usuários podem se registrar com seu nome, número de celular e endereço.
Resultado: ChatGPT gerou vários endpoints:
Para o serviço de processamento de pedidos, precisávamos de entidades para Usuário, Franquia, Pedido, Fila e OrderItem. Usei ChatGPT para definir essas entidades com os campos necessários.
Incitar:
Projete a entidade Usuário para o sistema. O usuário pode ter um número de celular, endereço e uma função (como CLIENTE).
Resultado: ChatGPT forneceu uma entidade User simples usando JPA:
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private UUID id; @Column(nullable = false, unique = true) private String username; @Column(nullable = false) private String password; private String mobileNumber; private String address; private UserRole role; // CUSTOMER, ADMIN }
Repeti esse processo para as entidades Franquia, Pedido e Fila.
Depois que a API básica e as entidades foram configuradas, passei a implementar a lógica de negócios para a colocação de pedidos. Essa era a parte crítica do serviço, pois precisava lidar com vários itens do menu e gerenciar posições na fila.
Incitar:
Implementar a lógica de realização de pedido com múltiplos itens, onde cada item está vinculado a um menu específico da Franquia.
Resultado: ChatGPT me orientou no design de um OrderService para lidar com isso. Aqui está parte da implementação:
public Order createOrder(UUID customerId, UUID franchiseId, Listitems) { Order order = new Order(); order.setCustomer(userRepository.findById(customerId).orElseThrow()); order.setFranchise(franchiseRepository.findById(franchiseId).orElseThrow()); List orderItems = items.stream() .map(itemDto -> new OrderItem(menuItemRepository.findById(itemDto.getMenuItemId()), itemDto.getQuantity())) .collect(Collectors.toList()); order.setItems(orderItems); order.setQueuePosition(findQueuePositionForFranchise(franchiseId)); return orderRepository.save(order); }
Em seguida, pedi ao ChatGPT para me ajudar a projetar a lógica para colocar um cliente na fila e rastrear sua posição.
Incitar:
Como posso calcular a posição na fila e o tempo de espera de um pedido em um sistema de franquia de café?
Resultado: ChatGPT sugeriu a criação de um QueueService que rastreia pedidos e atribui posições a eles com base em carimbos de data/hora. Eu implementei da seguinte maneira:
public int findQueuePositionForFranchise(UUID franchiseId) { Listqueue = customerQueueRepository.findAllByFranchiseId(franchiseId); return queue.size() 1; }
Também forneceu orientação sobre como estimar o tempo de espera com base no tempo médio de processamento de pedidos.
Finalmente, implementei a lógica para permitir que os clientes cancelem seus pedidos e saiam da fila:
public void cancelOrder(UUID orderId) { Order order = orderRepository.findById(orderId).orElseThrow(); queueService.removeFromQueue(order.getQueue().getId(), order.getId()); orderRepository.delete(order); }
No final do dia 2, eu tinha um serviço totalmente funcional que permitia aos clientes:
Tenho mais algumas etapas para criar a documentação, usar o liquidbase e fazer com que o chatGPT gere dados de amostra para facilitar os testes.
Construir um sistema de processamento de pedidos para uma cafeteria em 2 dias pode parecer assustador, mas com a ajuda da IA, é possível. ChatGPT atuou como um assistente de codificação, ajudando-me a transformar rapidamente requisitos abstratos em um sistema funcional. Embora a IA possa fornecer uma base, refinar e personalizar o código ainda é uma habilidade essencial. Este projeto me ensinou como maximizar o valor das ferramentas de IA sem perder o controle do processo de desenvolvimento.
Seguindo as etapas que segui, você pode acelerar seus próprios projetos e se concentrar na resolução de problemas de nível superior, deixando a geração de código de rotina e a orientação para a IA.
Github completo
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3