·約2分で読めます
資格学習アプリ「マナビポータル」を個人で作っている話
#個人開発#Next.js#Supabase#AI
「資格の勉強って、スキマ時間にサクッと一問一答できると続けやすいよね」——そんな自分の体験を出発点に、マナビポータルという学習プラットフォームを作っています。この記事では、どんな考え方で設計しているか、そして実際に手を動かして気づいたことを書き残しておきます。
なぜ作ろうと思ったのか
市販の問題集やアプリはたくさんありますが、「自分が欲しい粒度」で問題に取り組めるものは意外と少ない、というのが出発点でした。
- 1問ずつ、解説までその場で読める
- 間違えた問題だけをあとから復習できる
- ジャンルをまたいで少しずつ問題を増やしていける
このあたりを満たすものを、自分の手元で育てていけたら——という気持ちです。
技術スタック
今回はこんな構成にしています。
- フロントエンド: Next.js(App Router)
- バックエンド: Supabase(PostgreSQL + Auth + Storage)
- 問題の生成補助: AI(下書きを作ってもらい、人間が確認)
- 認証: Supabase Auth(メール / Google OAuth)
問題データは SQL マイグレーションで管理していて、新しいジャンルを追加するたびに少しずつ積み増していけるようにしています。
つまずいたポイント
一番悩んだのは「問題データの設計」でした。最初は問題文と答えだけを持たせていたのですが、運用していくうちに
- 解説テキスト
- 難易度
- 出題範囲(カテゴリ)
- 出典・改訂日
といったメタ情報が欲しくなり、何度かスキーマを見直すことになりました。最初から完璧を目指さず、運用しながら育てるという割り切りが、個人開発では大事だなと改めて感じています。
これから
まだ開発中(WIP)ですが、情報系の資格を中心に、日本で人気のある試験へ少しずつ広げていく予定です。使ってみての気づきや改善点は、またこのブログに書いていきます。