見出し画像

AIと生きる~Cursorでアプリ開発 #1~

無料枠を使い果たしてストップしていた「Cursor」でのアプリ開発を、OpenAIのAPIを契約したので、進めていきます。
Cursorだけで開発を進めるなら、「Cursor PRO」に契約すると、Copilot++(GitHub Copilotのような機能)が使えるのですが、私は、「LangChain」も使用したいので、OpenAIのAPI契約を選択しました(「LangChain」では、GoogleAIのAPIも使用していくつもりです)。

前回のプロジェクトを立ち上げた記事は下記です。

CursorにOpenAIのAPIを設定する

Cursorの上部ナビゲーション右側にある設定(歯車アイコン)をクリックすると、下記の画面が立ち上がります。「OpenAI API」の欄にAPIキーを入力することができます。

新規プロジェクト作成

今回は、APIを契約したこともあり、GPT-4Turboを選択して、前回同様に新規プロジェクトを立ち上げるところから始めました(プロジェクト立ち上げに作成した要件定義は下記に公開しています)。
下記の通り、ファイルを作成してくれました。

自動生成されたディレクトリ構造

従量課金がどの程度になるのか、想像もつかないので、$10分だけ課金し、自動で課金されないように設定しました。
ドキドキしながら終わるのを待っていましたが、確認すると、約$1(150円程度)で作成でき、時間も数分ほどでした。
前回は、Flaslkのディレクトリ構造に合わせてファイルの移動などが必要と書きましたが、templatesディレクトリを自動作成し、htmlファイルを格納してくれました。
ここから、中身を確認しつつ、修正が必要であればChat機能を活用して追加修正をしていきます。

要件定義の内容

## **プロジェクト概要**

### **目標と要件:**
開発するアプリは、ファンヒーターのメンテナンス管理ツールで、「お客様から依頼受け、一定期間ファンヒータを預かり、有償もしくは、無償でメンテナンスをして、返却する」という一連の流れを管理するものです。
主な機能には、
1. **顧客管理:**

- 管理項目:お客様氏名・住所・電話番号・ご使用番号
- 新規登録
- お客様氏名検索
- 検索結果の一覧表示と一覧表示したお客様情報から任意のレコードを選択し詳細表示、編集、更新

2. **メンテナンス管理:**

- 管理項目:顧客管理項目(顧客管理とリレーション)・受付日・受付者・型番・メンテナンス担当者・有償/無償の区分・預り日数・返却予定日・返却(処理)日・返却済/未返却の区分
- お客様氏名検索
- お客様氏名検索結果の一覧表示と任意のレコードを選択し顧客IDを取得する
- 取得した顧客IDに紐づいているメンテナンス管理情報の取得
- メンテナンス管理情報がある場合:
- レコードの一覧表示と任意のレコードを選択し詳細表示、編集、更新
- メンテナンス管理情報がない場合:
- メンテナンス管理項目の新規登録

3. **社員管理:**

- 管理項目:社員氏名
- メンテナンス管理で受付者とメンテナンス管理者を選択するために管理する
- 新規登録、編集、削除

4. **管理漏れの無いよう注意喚起:**

- アプリケーション起動時のTOPページで、返却予定日によりメンテナンス管理情報を一覧表示する
- 返却予定日が明日、明後日のメンテナンス情報一覧
- 返却予定日が前日以前で、未返却のメンテナンス情報一覧
- 表示項目:顧客管理項目とメンテナンス管理項目

### **ユーザーエクスペリエンス:**

- ユーザビリティが重視され、直感的な操作が可能であり、利用しやすいUIが求められます。
- メンテナンス管理項目の入力・編集で期待する動作:
- 受付日、返却(処理)日:カレンダーから日付を選択する
- 受付者、メンテナンス管理者:社員管理テーブルから登録されている全レコードを取得し、ドロップダウンリストから選択する
- 有償/無償、返却済/未返却の区分:ラジオボタン等で選択する
- 返却予定日:受付日と預り日数から自動計算し表示する
- ユーザーPCのローカル環境で実行する

### **技術要件:**

- フロントエンド: `HTML`,`Bootstrap`,`JavaScript`, `jQuery`,`Ajax`
- バックエンド: `Flask`(`Python`)
- データベース: `SQLite`

### **セキュリティー:**

1. SQLインジェクション、XSS対策としてORM(Flask-SQLAlchemy)を使用
2. Flask-WTFを使用したCSRF対策を施す

### **デザイン要件:**

複雑なデータを分かりやすく表示するデータビジュアライゼーションが必要です。カスタマイズ可能なダッシュボードと柔軟なレポート機能が含まれます。

今日の体調

久しぶりに晴れているのに、体調は良くないままです。
症状:頭痛、関節痛、強い倦怠感、ふらつき、少し動悸
集中できないので、小出しになってしまいますが、体調みて、少しずつ進めていきます。



この記事が気に入ったらサポートをしてみませんか?