Roo ClineでPythonのFlaskを勉強してみる
Roo Clineがあまりに簡単にアプリを自動で作ってくれるので、PythonのWEBアプリフレームワークのFlaskを勉強してみようと思いました。
最初に行ったこと
まずChatGPT o1に以下を聞いてみました。
Q.「Flaskの学習向けの簡単なWEBアプリをたくさん紹介してください。サーバーはsakuraレンタルサーバーを使用しpythonは3.8です。」
ChatGPT o1からの回答
以下の回答が返ってきました。
A.「Flaskの学習向けに、さくらレンタルサーバー(Python 3.8)で動作する簡単なWEBアプリのアイデアをいくつか紹介します。これらは、基本的なFlaskの機能を学ぶのに役立ちます。
1. メモ帳アプリ
機能: メモの追加、編集、削除
学べること: CRUD操作、SQLiteデータベース、テンプレートエンジン(Jinja2)
主な技術: Flask, Flask-SQLAlchemy, Bootstrap
2. ToDoリストアプリ
機能: タスクの登録、完了管理
学べること: フォーム処理、セッション管理、CSSフレームワーク連携
主な技術: Flask-WTF, Flask-SQLAlchemy, Bootstrap
3. 簡単なお問い合わせフォーム
機能: 名前、メールアドレス、メッセージの送信
学べること: フォームバリデーション、メール送信(Flask-Mail)
主な技術: Flask-WTF, Flask-Mail
4. 天気情報取得アプリ
機能: 都市名を入力して天気を取得(外部APIを使用)
学べること: API連携、非同期リクエスト処理
主な技術: Flask, requests, OpenWeatherMap API
5. 画像アップロードアプリ
機能: 画像のアップロード・表示・削除
学べること: ファイルのアップロード処理、Flaskのセキュリティ
主な技術: Flask-Uploads, Flask-WTF
6. ユーザー認証システム
機能: ユーザー登録・ログイン・ログアウト
学べること: Flask-Loginによる認証、セッション管理、パスワードハッシュ化
主な技術: Flask-Login, Flask-Bcrypt, Flask-SQLAlchemy
7. シンプルなブログシステム
機能: 記事の投稿、編集、削除、コメント機能
学べること: ORM、リレーショナルデータベースの使い方
主な技術: Flask-SQLAlchemy, Jinja2
8. チャットアプリ(WebSocket対応)
機能: リアルタイムチャット機能
学べること: WebSocket通信、非同期処理
主な技術: Flask-SocketIO
9. QRコード生成アプリ
機能: 入力されたテキストからQRコードを生成
学べること: 画像処理、外部ライブラリの活用
主な技術: Flask, qrcodeライブラリ
10. ポートフォリオサイト
機能: 自己紹介、プロジェクト一覧、問い合わせフォーム
学べること: 静的ページの作成、デザインの適用
主な技術: Flask, Bootstrap, Flask-Static-Digest
これらのアプリは、比較的簡単にセットアップでき、さくらレンタルサーバー上でPython 3.8を使って運用可能です。特に、requirements.txt で必要なライブラリを記載し、WSGI経由でアプリをデプロイする方法も学べます。興味のあるプロジェクトがあれば、具体的な実装方法を紹介できます。」
Roo Clineへのプロンプト
挙げられた例を元にRoo Clineにプロンプトで注文するとあっという間に動くWEBアプリを作ってくれます。
Flaskをつかったユーザー認証システムを作ってください。
フォルダは/home/garyo/project/flask/loginです。
機能: ユーザー登録・ログイン・ログアウト
学べること: Flask-Loginによる認証、セッション管理、パスワードハッシュ化
主な技術: Flask-Login, Flask-Bcrypt, Flask-SQLAlchemy
FlaskをつかったQRコード生成アプリを作ってください。
フォルダは/home/garyo/project/flask/QRに入れてください。
機能: 入力されたテキストからQRコードを生成
学べること: 画像処理、外部ライブラリの活用
主な技術: Flask, qrcodeライブラリ
Flaskをつかったポートフォリオサイトを作ってください。
フォルダは/home/garyo/project/flask/portfolioに入れてください。
機能: 自己紹介、プロジェクト一覧、問い合わせフォーム
学べること: 静的ページの作成、デザインの適用
主な技術: Flask, Bootstrap, Flask-Static-Digest
結果
天気情報取得アプリだけAPIキーが上手く取れなかった以外は全てRoo Clineが作成してくれました。
その他
AIのAPIにはDeepSeekのdeepseek-reasonerを使っています。
これだけ作っても$0.7(109円)くらいでした。