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

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 sich der Aufbau eines Auftragsabwicklungsdienstes manchmal überwältigend anfühlen, wenn der Zeitrahmen begrenzt ist. 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 Erfassung der Anforderungen bis zur Fertigstellung.

Ehrlich gesagt gibt es viele kleine Threads und Anregungen 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 voraussichtliche Wartezeit an.
  5. Stornierung der Bestellung: 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:

Eingabeaufforderung:

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 /Bestellungen: 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.

Eingabeaufforderung:

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 verwaltet und Warteschlangenpositionen verwaltet werden mussten.

Eingabeaufforderung:

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 zur Bewältigung dieses Problems geführt. Hier ist ein Teil der Implementierung:

public Order createOrder(UUID customerId, UUID franchiseId, List<orderitemdto> items) {
    Order order = new Order();
    order.setCustomer(userRepository.findById(customerId).orElseThrow());
    order.setFranchise(franchiseRepository.findById(franchiseId).orElseThrow());

    List<orderitem> 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);
}
</orderitem></orderitemdto>

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.

Eingabeaufforderung:

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

Ergebnis: ChatGPT schlug die Erstellung eines QueueService vor, der Bestellungen verfolgt und ihnen basierend auf Zeitstempeln Positionen zuweist. Ich habe es wie folgt umgesetzt:

public int findQueuePositionForFranchise(UUID franchiseId) {
    List<customerqueue> queue = customerQueueRepository.findAllByFranchiseId(franchiseId);
    return queue.size() + 1;
}
</customerqueue>

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

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);
}

Finalizing the Project

By the end of Day 2, I had a fully functional service that allowed customers to:

  • Register using their mobile number and address.
  • View nearby franchises.
  • Place orders with multiple items from the menu.
  • Check their queue position and waiting time.
  • Cancel their order at any time.

Key Takeaways

  • Leverage AI for Routine Tasks: ChatGPT sped up repetitive tasks like designing APIs, generating boilerplate code, and implementing common business logic patterns.
  • Divide and Conquer: By breaking the project into small, manageable tasks (such as user registration, queue management, and order placement), I was able to implement each feature sequentially.
  • AI-Assisted Learning: While ChatGPT provided a lot of code, I still had to understand the underlying logic and tweak it to fit my project’s needs, which was a great learning experience.
  • Real-Time Debugging: ChatGPT helped me solve real-time issues by guiding me through errors and exceptions I encountered during implementation, which kept the project on track.

I have a few more steps to create the documentation, use liquidbase and have chatGPT generate sample data for easier testing.

Conclusion

Building an order processing system for a coffee shop in 2 days may sound daunting, but with AI assistance, it’s achievable. ChatGPT acted like a coding assistant, helping me transform abstract requirements into a working system quickly. While AI can provide a foundation, refining and customizing code is still an essential skill. This project taught me how to maximize the value of AI tools without losing control of the development process.

By following the steps I took, you can speed up your own projects and focus on higher-level problem-solving, leaving the routine code generation and guidance to AI.

Full source Github

Das obige ist der detaillierte Inhalt vonAufbau eines Auftragsverarbeitungsdienstes mit ChatGPT (Mitwirken) und in wenigen Tagen abgeschlossen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?Mar 17, 2025 pm 05:46 PM

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

Wie erstelle und verwende ich benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning und Abhängigkeitsmanagement?Wie erstelle und verwende ich benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning und Abhängigkeitsmanagement?Mar 17, 2025 pm 05:45 PM

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

Wie implementiere ich mehrstufige Caching in Java-Anwendungen mit Bibliotheken wie Koffein oder Guava-Cache?Wie implementiere ich mehrstufige Caching in Java-Anwendungen mit Bibliotheken wie Koffein oder Guava-Cache?Mar 17, 2025 pm 05:44 PM

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?Mar 17, 2025 pm 05:43 PM

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?Mar 17, 2025 pm 05:35 PM

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools