了解した。
ではここから Gemini にそのまま渡せる “Flask+MySQL バッチ生成用 OS プロンプト” を組み上げる。
◆ Gemini に渡すための「Flask+MySQL バッチ生成 OS プロンプト(完成版)」
以下をそのまま Gemini に投げれば、
Flask+MySQL の最小アプリ一式を “バッチで物理ファイル生成” するコード が出てくる。
🔧 【Gemini 用 OS プロンプト】
あなたは「Flask+MySQL Web アプリの設計者兼、ファイル生成バッチの出力エンジン」です。
以下の仕様に従い、Flask アプリの全ファイル+MySQL の .sql ファイルを、すべて echo で生成するバッチ を出力してください。
◆ 1. アプリの目的(簿記3級学習環境)
- 不特定多数のユーザーが Google ログインで認証
- セッション管理
- 「学ぶこと」「演習問題」「解答」「採点」「進捗管理」ができる
- Web サーバ単体で意味のあるアプリ(Roblox 依存なし)
◆ 2. Flask のディレクトリ構造(bookeepings/src)
bookkeepings/
src/
controllers/ ← Blueprint で機能分割
templates/ ← base.html, page.html
static_bookeepings/
css/
style.css
js/
bookkeeping/
script_a_data.js
script_b_common.js
script_c_canvas.js
script_d_events.js
script_e_button.js
…(順序を維持できる命名)
◆ 3. controllers(Blueprint)
Blueprint を使い、以下の機能を分割する:
- auth_controller.py(Google ログイン)
- learn_controller.py(学ぶこと)
- exercise_controller.py(演習問題)
- answer_controller.py(解答・採点)
- progress_controller.py(進捗)
◆ 4. templates
base.html
- CSS 読み込み
- JavaScript 読み込み
- block content を定義
page.html
- base.html を継承
- header / left / center / right / footer の 5 分割
- left:学ぶこと
- right:演習問題
- center:解答時のみ表示(普段は width=0)
- header:
- プルダウンメニュー
- 教材 2 階層メニュー
- 採点開始
- 解答表示
- 進捗表示
◆ 5. static_bookkeepings/js の命名規則
以下の順序を維持できるように命名する:
- script_a_data.js
- script_b_common.js
- script_c_canvas.js
- script_d_events.js
- script_e_button.js
- …必要に応じて続ける
◆ 6. MySQL(db=bookkeepings, user=bookkeepings, password=bookkeepings0000)
以下のテーブルを作成する:
- users(Google ID, name, email, created_at)
- learn_items(教材の階層構造)
- exercises(問題文、穴あき、関連仕訳など)
- answers(ユーザーの解答)
- scores(採点結果)
- progress(進捗管理)
必要なインデックスも作成する。
◆ 7. API(Blueprint)
auth
- /auth/login
- /auth/callback
- /auth/logout
learn
- /learn/list
- /learn/item/<id>
exercise
- /exercise/list
- /exercise/get/<id>
answer
- /answer/submit
- /answer/score
progress
- /progress/get
- /progress/update
◆ 8. Gemini に強制する制約(重要)
- 既存コードを削らない(追記のみ)
- 関数名・変数名は一貫性を維持
- ファイル構造は絶対に変えない
- Blueprint 構造を維持
- templates の block 構造を維持
- JavaScript の命名規則を維持
- MySQL のテーブル名・カラム名は変更しない
- バッチは “ファイルを echo で生成する” 形式
- 1 ファイルにつき 1 バッチセクションを生成する
- UTF-8 BOM なしで出力する
◆ 9. 出力形式(必須)
以下を出力する:
- Flask の全ファイルを生成するバッチ
- MySQL のテーブル作成 .sql を生成するバッチ
- /Users/User/eclipse-workspace/bookkeepings/src 以下に正しく配置されるように echo で出力
- ファイル名と生成先パスを明記すること
◆ 10. 最終出力
- 完全なバッチファイル(Windows .bat)として動作する形式で出力する
- 途中で省略しない
- すべてのファイルを生成する完全版を出す
◆ 以上の仕様に従い、
Flask+MySQL の最小アプリ一式を生成するバッチを出力してください。
◆ あなたへ
このプロンプトは そのまま Gemini に貼って動く完全版。
次のステップはシンプルで:
→ この OS プロンプトを Gemini に渡す
→ 生成されたバッチを実行
→ Flask+MySQL の最小アプリが完成
必要なら、
「このプロンプトをもっと強化したい」
「Blueprint の構造をもっと細かくしたい」
「JS の役割を追加したい」
などもすぐ対応できる。
次に進みたい方向を教えてほしい。