0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ITパスポートクイズ風勉強アプリを作りました!

Posted at

ITパスポートの過去問を手軽に

ITパスポートの勉強ができるサイトやアプリは多くあるかと思いますが、問題文が短いものだけ厳選しクイズの様に実践できるものを作成しました。「ITパスポートなんて…」と思う方も最近の知識を問う問題もありますので暇つぶしに試してみて下さい。

※アプリと言ってもインストール型ではなく、ブラウザから操作するWebアプリです


ざっとしたソフトウェア構成はNext.js(フロントエンド)+Flask(API)+Firestore(データ)です。個人で何か開発したいと思っている方は参考になればと思い制作についてのあれこれを紹介したいと思います。

①AI利用について

利用したAIはv0とGPT-4.1(API利用)です。v0はWebアプリの画面を作るのはうってつけのツールで、生成結果の確認もしやすいのでおすすめです。(ただ修正となるとNext.jsの知識が必要となります)

GPT-4.1は解説の生成に利用しました。問題と回答はIPA公式にアップロードされていますが解説はないのでAIに頼ったのですが、人力では途方に暮れるような作業をあっさりとやってくれました。ただわがままを言えば問題文をそっくりなぞった解説も多少あったのが唯一の不満です。ちなみにGPT5にしなかったのはよく言われていますが人間味がなく、解説に不向きだったからです。

最近はAIによる仕様駆動開発が流行りですが、個人でやるのならいきなり色々最初に決めずに小さいところから徐々に作っていくのも手かと思います。

v0での開発についてはこちらの記事も参考にして頂ければと思います。

※イラストはAIではなく依頼をしています

②デプロイ先について

デプロイ先ですがフロントエンドはVercel、サーバー側(API)はGoogleCloud(Cloud Run Functions)にしました。Next.jsを使っているので両方Vercelにしてフルスタック(フロントエンドとサーバー一体のプロジェクトにする)が理想だったのですがレスポンス遅い(速くするのにお金がかかる)ので断念しました。以下比較検討した際の参考にしてください。

※以下はフロントエンドではなく、APIとして利用する場合の比較です

比較対象 Vercel Cloud Run Functions
料金 月額20ドル(無料プランあり) 従量課金制(無料枠あり)
利用できる言語 Next.jsメインだがPythonなども可 メジャーな言語大体
利用難易度 やや難 難(エンジニア向け)
欠点 無料だとコールドスタート セッション利用不可?

Vercelは無料で使えて、設定もGoogleCloudよりは簡単ですがコールドスタートというネックがあります。コールドスタートの場合アクセスがない状態が続くとインスタンスが停止してしまうため、最初の起動の際に時間がかかることになります。

これは初見の利用者を逃してしまうわりと重要な問題です。Cloud Run Functionsもデフォルトではコールドスタートで、設定でインスタンスの最小数を変更できます。(後述しますがただこれをすると料金が発生します。)

あとはCloud Run Functionsだとセッションが利用できないようで、クライアント-サーバ間は毎回「初めまして」としての処理になります。今回のアプリは関係ないですが、ショッピングサイトの「カートに保存」みたいのことがしづらいので場合によってはこれがネックになるかも知れません。

ちなみにデータはFirestoreに保存したのですがこれはMySQLなどのリレーショナルデータベースとは異なるNoSQLデータベースと呼ばれるもので、個人開発では一択と言っていいぐらいおすすめです。余程利用者がいない限りは無料で使えて、レスポンスも十分なスピードです。ただSQL文が使えないので新たにデータの操作方法を学ばなくてはいけないデメリットもあります。

③費用について

リリースまでにかかった費用をまとめました。

項目 費用 備考
①v0(相談・コード生成) 3000円 1度だけ有料プラン加入(20ドル)
②GPT4(解説生成) 500円 正確に把握してないですがGPT-4oなので安く済みました
③ドメイン取得 2,479円 Hostingerで取得
④イラスト制作 30,000円 ココナラで依頼

①②:AIに関しての費用はそこまでかかりませんでした。
③:ドメインはわざわざ取得しなくてもVercelなら.vercelドメインが利用できますがなんとなく取得してみました。
④:一番費用がかかったのはイラストですが、こちらは個人的なものなので参考に入れないで構わないかと思います。

ですので、こだわらなければ初期費用はあまりかからないと思います。


ランニングコストも紹介します

項目 費用 備考
Cloud Run Functions 約1000円/月 最小インスタンスを1にした場合
ドメイン更新費用 2,789円/年 年次更新

ランニングコストはサーバー代とドメイン更新費用です。Cloud Run Functionsはコールドスタートであれば(最小インスタンス数→0)費用はあまりかからないのですが、最小インスタンスを1にして常に起動しておくと費用は1日30~50円くらいかかる状態となりました。

ということでCloud Runもあまり安くはありません。Vercelの有料プランは他にも利用できる機能があるためいっそ3000円払った方がもろもろ得になる気もします…

※費用は利用された時間などにも影響されるため、あくまでも目安となります。コールドスタートでしたら処理時間によっては1日0円ですみます。

④苦労した点

苦労したことは一番「公式の過去問PDFから問題の取得」が大変でした。テキストデータで提供してくれればいいのですが、なんでやってないのでしょうかね…
ひたすらPDFをGoogleドキュメントに変換→テキストファイルを繰り返しました。

他にも山ほどありますが細かいのが多すぎるので割愛します。

まとめ

利用者が多ければスマホアプリへの移植にも挑戦したいと思います!
不具合など気づいた点あればアプリのお問い合わせなどからご意見いただければ幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?