Cursorを使ってLaravel×DDDの開発を試してみた
近年、生成AIの進化は目覚ましく、開発現場においてもその活用が広がっています。
今回、生成AIエディタCursorを活用することで、どれほど効率的に開発を進められるのか試してみました。
学習用として、LaravelとDDD(オニオンアーキテクチャ)をベースに、架空のECサイトの受注データを管理するシステムを構築しました。
Cursorの使い方は以下の記事を参考にしました。
参考:https://qiita.com/ryamate/items/94a6170c4661242b4c1c
システム概要
本システムは、架空のECサイトの受注データを管理するためのものです。
具体的には、以下の機能を有しています。
- ECサイトからの受注データ取得バッチ
- フィットネス用品を扱うECサイトを想定し、ランダムな受注データを生成
- 受注データ一覧表示機能
- ステータス、注文日による検索、ページネーション
- 受注データ詳細表示機能
- 領収書表示機能
- インボイス制度に対応し、消費税ごとの税額を算出
※本システムは学習用であり、必要最低限の機能のみ実装しています。今後機能拡張したいと考えています。
詳細については、GitHubのREADMEをご覧ください。
Cursolを使った感触・感想
最低限の機能とはいえ短時間で作れたので爆速開発を体験できました。
細かいチェックや修正は必要でしたが、人間の手で修正・調整する箇所は少しで済みました。
※学習用のため、細かいチェック・レビューはしていませんが、概ね問題はないコードでした。
- クラス設計は人間でしっかりしたほうがよさそうです。(ここが人間が注力すべき点と思いました)
- 以下のようなざっくりとした依頼でも良い感じで作ってくれました。
Ordersの一覧画面を作成してください。検索条件はステータスと注文日のFROM-TOでお願いします。ページ切り替えも実装してください。
注文詳細画面を作成してください。
領収書画面を作ってください。
インボイスのために消費税ごとの税額を求めるメソッドを追加してください。
-
Composerからだと複数ファイルにまたがって修正してくれるので、かなり便利でした。
修正箇所がハイライトされて、その修正を受け入れるかどうかを判断したうえで変更反映できます。Apply All
で全体を選択すれば一気に反映できます。 -
意図通りにならなくても後から修正依頼をしてくれれば、良い感じに修正してくれました。(プロンプトを考えるのに時間をかけるより後から修正依頼で良い気がしました)
-
GitHub Actionsの設定ファイル(yml)も簡単な指示で作ってくれました。(少しエラーは出ていますが)
さいごに
最後までお読みいただき、ありがとうございました。
生成AIやCursolに関する記事は多いですが、この記事がわずかでも役に立てば幸いです。
Discussion