1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

クイズをコレクションしながら楽しく学べる!Notion連携の新アプリ『Quizionary』で知識を深めよう! ~覚えたいことが多すぎて復習する時間がないあなたに~

Posted at
quizView.gif addQuizView.gif collectionView.gif

大人になるに連れていろんな分野の知識が必要だけれど、覚えている暇がない…

Notionにメモをとっているけど、メモするだけで定期的に復習する機会がない…

そんな問題を解決するために、「Quizionary」というiOSアプリを開発しました!

主な機能

iOSの写真アプリライクなクイズビュー

quizView.gif

  • 記憶に残りやすい画像をメインにしたUI1
  • 写真アプリのように、横スワイプ、下のバーをスクロールすることが可能で簡単にブラウジング
  • タグ、解答数(☆マーク)、正解数(★マーク)を表示することで、俯瞰的な学習が可能

自動化による簡単なクイズ追加ビュー

addQuizView.gif

  • Wikipedia検索によるクイズの半自動生成
  • 誤答選択肢をワンタップで生成(Geminiを使用)
  • Notion連携をしているのでNotionデータベースにアクセスすることでPCからもクイズを追加、変更可能

ソシャゲライクなコレクションビュー

collectionView.gif

  • コレクションすることで思い出す機会を多く!
  • 一定数正解すると、エフェクトがつくのでモチベーションに
  • タグベースでジャンルごとの表示も可能(クイズ機能でもできます)

様々な形で可視化する学習記録ビュー

achievementView.gif

  • 全体の学習記録をランクとして表示
  • グラフで更なる学習のモチベーションに!
  • Githubの草のチャートで毎日学習へのモチベーションをUP!
  • タグごとの進捗状況も確認可能

カスタマイズ

preferenceView.gif

  • テーマカラー、モードを簡単にカスタマイズ!
  • ハプティクス(触覚フィードバック)をON/OFF可能!

技術

  • TCA (The Composable Architecture) + SwiftUI
    • メインライブラリとして利用しました
    • ビジネスロジックが分離しやすく開発しやすかったです2
  • Swift Package Manager
    • ビルドの高速化など様々なメリットがあるため、Swift Packageによるモジュール化しながら実装しました3
  • Gemini
    • 現状は誤答の選択肢を生成するために利用しています
  • NotionAPI
    • Notion連携のために利用しました
    • Notionの内部インテグレーションの実装はWebの知見に乏しく大変でしたが、幸いに先行研究があり、そこまで詰まることなく実装できました4

なぜNotionを選んだのか?

Notionを選んだ主な理由は、基本的に無料で使用できること、そして一括検索機能が非常に便利だからです。多くのユーザーが知識管理やプロジェクト管理にNotionを活用していることからも、Quizionaryのユーザーが学習データを簡単かつ効率的に管理できるようにするため、Notionとの連携を決めました。

これからの展望

  • 画像自動生成機能
    • Apple Intelligence使ってみたい
  • 生成AIを利用したランダムなクイズ作成機能
    • iPhoneへのchatGPT組み込みで可能?
  • プリセットクイズの拡充

まとめ

Quizionaryは、クイズに挑戦しながら学びを深め、その知識を図鑑のようにコレクションできるアプリです。クイズに正解するたびに、その知識があなたのコレクションに追加され、いつでも振り返ることができます。また、Notionとの連携により、学習進捗やコレクション内容を自由に管理することが可能です。

もし興味があれば、ぜひアプリをダウンロードして試してみてください。また、フィードバックや質問があれば、お気軽にコメントや連絡をください。

  1. 無しでも利用可能ですがあり推奨

  2. ビジネスロジックが小さい子ViewはSwiftUIだけで実装してます

  3. ここだけの話、モジュール化したせいでリソース管理などでめちゃめちゃ苦労しましたw

  4. 次のサイトが非常に助かりました、ありがとうございます(https://rakuraku-engineer.com/posts/react-native-notionapi-public/)

1
3
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
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?