„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Aufbau eines Auftragsverarbeitungsdienstes mit ChatGPT (Mitwirken) und in wenigen Tagen abgeschlossen

Aufbau eines Auftragsverarbeitungsdienstes mit ChatGPT (Mitwirken) und in wenigen Tagen abgeschlossen

Veröffentlicht am 06.11.2024
Durchsuche:407

Building an Orders Processing Service with ChatGPT (contribute  efforts) and Finished in ays

KI hat dazu beigetragen, meine tägliche Arbeit zu verändern und die Effizienz zu steigern

Als Entwickler kann der Aufbau eines Auftragsabwicklungsdienstes manchmal überwältigend sein, wenn Sie nur einen begrenzten Zeitrahmen haben. Mit der Leistungsfähigkeit von KI-gesteuerten Entwicklungstools wie ChatGPT können Sie den Prozess jedoch erheblich beschleunigen, indem Sie Code generieren, Entitäten entwerfen und Probleme Schritt für Schritt lösen. In diesem Artikel erkläre ich Ihnen, wie ich mit ChatGPT in nur 2 Tagen einen voll funktionsfähigen Auftragsabwicklungsdienst aufgebaut habe, von der Anforderungserfassung bis zur Fertigstellung.

Ehrlich gesagt gibt es viele kleine Threads und Aufforderungen für verschiedene kleine Aufgaben, die ich nicht zu einem vollständigen Projekt zusammenfassen kann, aber insgesamt ... hat es mir zu 70 - 80 % geholfen. Darüber hinaus ist hier ein Teil des Originalcodes. Nachdem ich ihn überprüft habe, wurde er möglicherweise manuell geändert, sodass Sie diese Funktion möglicherweise nicht auf Github finden, den ich geteilt habe.

Tag 1: Anforderungen verstehen und einrichten

Schritt 1: Anforderungen erfassen und klären

Als Erstes habe ich die für den Dienst erforderlichen Kernfunktionen aufgelistet. Hier sind die wichtigsten Funktionen, die ich brauchte:

  1. Benutzerregistrierung: Ermöglichen Sie Benutzern die Registrierung mit ihrer Mobiltelefonnummer und Adresse.
  2. Franchise-Standortsuche: Ermöglichen Sie Kunden, Kaffee-Franchise-Unternehmen in der Nähe anzuzeigen und zu finden.
  3. Auftragserteilung: Kunden können eine Bestellung mit mehreren Artikeln aus einem Menü aufgeben.
  4. Warteschlangenverwaltung: Verfolgen Sie die Position eines Kunden in einer Warteschlange und geben Sie die erwartete Wartezeit an.
  5. Bestellstornierung: Kunden können die Warteschlange jederzeit verlassen und ihre Bestellung stornieren.

Schritt 2: API-Endpunkte mit ChatGPT generieren

Ich habe ChatGPT gebeten, mir beim Entwerfen der API-Struktur für die Anforderungen zu helfen. Hier ist ein Beispiel für die erste Eingabeaufforderung, die ich verwendet habe:

Prompt:

Erstellen Sie API-Endpunkte für ein Benutzerregistrierungssystem mit Spring Boot, bei dem sich Benutzer mit ihrem Namen, ihrer Mobiltelefonnummer und ihrer Adresse registrieren können.

Ergebnis: ChatGPT hat mehrere Endpunkte generiert:

  • POST /users/register: Um einen neuen Benutzer zu registrieren.
  • GET /franchises/nearby: Um Kaffee-Franchises in der Nähe basierend auf Breiten- und Längengrad zu finden.
  • POST /orders: Um eine Bestellung mit mehreren Artikeln aufzugeben.
  • GET /orders/{orderId}/queue-position: Um die Position des Benutzers in der Warteschlange zu überprüfen.
  • DELETE /orders/{orderId}: Um die Bestellung zu stornieren und die Warteschlange zu verlassen.

Schritt 3: Entitätsdesign

Für den Bestellverarbeitungsdienst benötigten wir Entitäten für Benutzer, Franchise, Bestellung, Warteschlange und Bestellelement. Ich habe ChatGPT verwendet, um diese Entitäten mit den erforderlichen Feldern zu definieren.

Prompt:

Entwerfen Sie die Benutzerentität für das System. Der Benutzer kann eine Mobiltelefonnummer, eine Adresse und eine Rolle (z. B. KUNDE) haben.

Ergebnis: ChatGPT hat eine einfache Benutzerentität mithilfe von JPA bereitgestellt:

@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
}

Ich habe diesen Vorgang für die Entitäten Franchise, Bestellung und Warteschlange wiederholt.

Tag 2: Geschäftslogik implementieren

Schritt 4: Logik zur Auftragserteilung

Nachdem die grundlegende API und die Entitäten eingerichtet waren, ging ich zur Implementierung der Geschäftslogik für die Auftragserteilung über. Dies war der kritische Teil des Dienstes, da mehrere Menüpunkte verarbeitet und Warteschlangenpositionen verwaltet werden mussten.

Prompt:

Implementieren Sie die Logik zum Aufgeben einer Bestellung mit mehreren Artikeln, wobei jeder Artikel mit einem bestimmten Menü im Franchise verknüpft ist.

Ergebnis: ChatGPT hat mich durch die Entwicklung eines OrderService geführt, um dies zu bewältigen. Hier ist ein Teil der Implementierung:

public Order createOrder(UUID customerId, UUID franchiseId, List items) {
    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);
}

Schritt 5: Warteschlangenverwaltung

Als nächstes habe ich ChatGPT gebeten, mir beim Entwerfen der Logik zum Platzieren eines Kunden in der Warteschlange und zum Verfolgen seiner Position zu helfen.

Prompt:

Wie kann ich die Warteschlangenposition und Wartezeit für eine Bestellung in einem Kaffee-Franchise-System berechnen?

Ergebnis: ChatGPT hat vorgeschlagen, einen QueueService zu erstellen, der Bestellungen verfolgt und ihnen basierend auf Zeitstempeln Positionen zuweist. Ich habe es wie folgt implementiert:

public int findQueuePositionForFranchise(UUID franchiseId) {
    List queue = customerQueueRepository.findAllByFranchiseId(franchiseId);
    return queue.size()   1;
}

Es wurden auch Hinweise zur Schätzung der Wartezeiten basierend auf der durchschnittlichen Auftragsbearbeitungszeit gegeben.

Schritt 6: Stornierung der Bestellung

Schließlich habe ich die Logik implementiert, die es Kunden ermöglicht, ihre Bestellungen zu stornieren und die Warteschlange zu verlassen:

public void cancelOrder(UUID orderId) {
    Order order = orderRepository.findById(orderId).orElseThrow();
    queueService.removeFromQueue(order.getQueue().getId(), order.getId());
    orderRepository.delete(order);
}

Abschluss des Projekts

Am Ende von Tag 2 hatte ich einen voll funktionsfähigen Service, der es den Kunden ermöglichte:

  • Registrieren Sie sich mit ihrer Handynummer und Adresse.
  • Franchises in der Nähe anzeigen.
  • Bestellungen mit mehreren Artikeln aus dem Menü aufgeben.
  • Überprüfen Sie ihre Warteschlangenposition und Wartezeit.
  • Stornieren Sie Ihre Bestellung jederzeit.

Wichtige Erkenntnisse

  • Nutzung von KI für Routineaufgaben: ChatGPT beschleunigte sich wiederholende Aufgaben wie das Entwerfen von APIs, das Generieren von Boilerplate-Code und das Implementieren gängiger Geschäftslogikmuster.
  • Teile und herrsche: Durch die Aufteilung des Projekts in kleine, überschaubare Aufgaben (wie Benutzerregistrierung, Warteschlangenverwaltung und Auftragserteilung) konnte ich jede Funktion nacheinander implementieren.
  • KI-unterstütztes Lernen: Während ChatGPT viel Code bereitstellte, musste ich dennoch die zugrunde liegende Logik verstehen und sie an die Anforderungen meines Projekts anpassen, was eine großartige Lernerfahrung war.
  • Echtzeit-Debugging: ChatGPT hat mir bei der Lösung von Echtzeitproblemen geholfen, indem es mich durch Fehler und Ausnahmen geführt hat, auf die ich während der Implementierung gestoßen bin, wodurch das Projekt auf Kurs gehalten wurde.

Ich habe noch ein paar Schritte, um die Dokumentation zu erstellen, liquidbase zu verwenden und chatGPT Beispieldaten für einfachere Tests generieren zu lassen.

Abschluss

Der Aufbau eines Bestellabwicklungssystems für ein Café in zwei Tagen mag entmutigend klingen, aber mit KI-Unterstützung ist es machbar. ChatGPT fungierte wie ein Codierungsassistent und half mir, abstrakte Anforderungen schnell in ein funktionierendes System umzuwandeln. Während KI eine Grundlage bieten kann, ist die Verfeinerung und Anpassung von Code immer noch eine wesentliche Fähigkeit. Durch dieses Projekt habe ich gelernt, wie ich den Wert von KI-Tools maximieren kann, ohne die Kontrolle über den Entwicklungsprozess zu verlieren.

Wenn Sie die Schritte befolgen, die ich unternommen habe, können Sie Ihre eigenen Projekte beschleunigen und sich auf die Problemlösung auf höherer Ebene konzentrieren, während Sie die routinemäßige Codegenerierung und -führung der KI überlassen.

Vollständiger Quellcode von Github

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/jackynote/building-an-orders-processing-service-with-chatgpt-contribute-70-80-efforts-and-finished-in-2-days-3klf? 1 as Wenn es einen Verstoß gibt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3