「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > ChatGPT を使用した注文処理サービスの構築 (取り組みに貢献)、無事に完了

ChatGPT を使用した注文処理サービスの構築 (取り組みに貢献)、無事に完了

2024 年 11 月 6 日に公開
ブラウズ:404

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

AI は私の日常業務の変化と効率向上に貢献しました

開発者として、時間枠が限られている場合、注文処理サービスを構築するのは大変だと感じることがあります。ただし、ChatGPT のような AI 主導の開発ツールを利用すると、コードの生成、エンティティの設計、問題の解決を段階的に行うことで、プロセスを大幅にスピードアップできます。この記事では、ChatGPT を使用して、要件の収集から完成まで、完全に機能する注文処理サービスをわずか 2 日 で構築した方法について説明します。

正直に言うと、小さなスレッドやさまざまな小さなタスクのプロンプトがたくさんあり、完全なプロジェクトに要約することはできませんが、全体としては 70 ~ 80% 役に立ちました。さらに、ここに元のコードの一部を示します。確認した後、手動で変更された可能性があるため、私が共有したこの関数は github で見つからない可能性があります。

1 日目: 要件の理解と設定

ステップ 1: 要件を収集して明確にする

私が最初にやったことは、サービスに必要なコア機能をリストアップすることでした。私が必要とした主な機能は次のとおりです:

  1. ユーザー登録: ユーザーが携帯電話番号とアドレスを使用して登録できるようにします。
  2. フランチャイズ店舗検索: 顧客が近くのコーヒー フランチャイズを表示および検索できるようにします。
  3. 注文: 顧客はメニューから複数のアイテムを注文できます。
  4. キュー管理: キュー内の顧客の位置を追跡し、予想される待ち時間を提供します。
  5. 注文のキャンセル: 顧客はいつでもキューから抜けて注文をキャンセルできます。

ステップ 2: ChatGPT を使用して API エンドポイントを生成する

ChatGPT に、要件に合わせた API 構造の設計を手伝ってくれるように依頼しました。これは私が使用した最初のプロンプトの例です:

プロンプト:

Spring Boot を使用してユーザー登録システムの API エンドポイントを作成します。ユーザーは名前、携帯電話番号、アドレスを使用して登録できます。

結果: ChatGPT はいくつかのエンドポイントを生成しました:

  • POST /users/register: 新しいユーザーを登録します。
  • GET /franchises/nearby: 緯度と経度に基づいて近くのコーヒー フランチャイズを検索します。
  • POST /orders: 複数の商品を注文する場合。
  • GET /orders/{orderId}/queue-position: キュー内のユーザーの位置を確認します。
  • DELETE /orders/{orderId}: 注文をキャンセルしてキューを終了します。

ステップ 3: エンティティの設計

注文処理サービスの場合、User、Francise、Order、Queue、および OrderItem のエンティティが必要でした。 ChatGPT を使用して、必要なフィールドを持つこれらのエンティティを定義しました。

プロンプト:

システムのユーザー エンティティを設計します。ユーザーは、携帯電話番号、アドレス、役割 (CUSTOMER など) を持つことができます。

Result: ChatGPT は JPA:
を使用して単純な User エンティティを提供しました

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

フランチャイズ、オーダー、キュー エンティティに対してこのプロセスを繰り返しました。

2 日目: ビジネス ロジックの実装

ステップ 4: 発注ロジック

基本的な API とエンティティを設定したら、注文のためのビジネス ロジックの実装に進みました。メニューの複数の項目を処理し、キューの位置を管理する必要があるため、これはサービスの重要な部分でした。

プロンプト:

複数のアイテムを注文するためのロジックを実装します。各アイテムはフランチャイズの特定のメニューにリンクされています。

Result: ChatGPT は、これを処理する OrderService の設計をガイドしてくれました。以下は実装の一部です:

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

ステップ 5: キュー管理

次に、顧客をキューに入れてその位置を追跡するロジックの設計を手伝ってくれるように ChatGPT に依頼しました。

プロンプト:

コーヒー フランチャイズ システムでの注文のキューの位置と待ち時間を計算するにはどうすればよいですか?

Result: ChatGPT は、注文を追跡し、タイムスタンプに基づいて位置を割り当てる QueueService を作成することを提案しました。次のように実装しました:

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

また、平均注文処理時間に基づいて待ち時間を見積もるガイダンスも提供されました。

ステップ6: 注文のキャンセル

最後に、顧客が注文をキャンセルしてキューから抜け出せるようにするロジックを実装しました:

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

プロジェクトの完成

2 日目の終わりまでに、顧客が次のことができる完全に機能するサービスが完成しました。

  • 携帯電話番号とアドレスを使用して登録します。
  • 近くのフランチャイズを表示します。
  • メニューから複数のアイテムを注文します。
  • 列の位置と待ち時間を確認してください。
  • いつでも注文をキャンセルできます。

重要なポイント

  • 定型タスクに AI を活用: ChatGPT は、API の設計、定型コードの生成、一般的なビジネス ロジック パターンの実装などの反復的なタスクを高速化しました。
  • 分割統治: プロジェクトを小さく管理しやすいタスク (ユーザー登録、キュー管理、注文など) に分割することで、各機能を順番に実装することができました。
  • AI 支援学習: ChatGPT は多くのコードを提供しましたが、それでも基礎となるロジックを理解し、プロジェクトのニーズに合わせて調整する必要がありました。これは素晴らしい学習経験でした。
  • リアルタイム デバッグ: ChatGPT は、実装中に発生したエラーや例外をガイドしてリアルタイムの問題を解決するのに役立ち、プロジェクトを順調に進めることができました。

ドキュメントを作成し、Liquidbase を使用し、テストを容易にするために chatGPT でサンプル データを生成するための手順がまだいくつかあります。

結論

コーヒーショップの注文処理システムを 2 日で構築するのは難しそうに聞こえるかもしれませんが、AI の支援を使えば実現可能です。 ChatGPT はコーディング アシスタントのように機能し、抽象的な要件を実用的なシステムに迅速に変換するのに役立ちました。 AI は基盤を提供できますが、コードの改良とカスタマイズは依然として不可欠なスキルです。このプロジェクトは、開発プロセスの制御を失うことなく AI ツールの価値を最大化する方法を教えてくれました。

私が実行した手順に従うことで、ルーチンのコード生成とガイダンスを AI に任せて、独自のプロジェクトをスピードアップし、より高度な問題解決に集中できます。

完全なソース Github

リリースステートメント この記事は次の場所に転載されています: https://dev.to/jackynote/building-an-orders-processing-service-with-chatgpt-contribute-70-80-efforts-and-finished-in-2-days-3klf? 1 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3