このプロジェクトについて
stdy4u は Flutter で構築されたオフラインファーストの学生向け生産性コンパニオンです。すべてのデータは Hive を使って端末内のみに保存され、サインアップやアカウントは不要です。
コース管理 — 名前、コード、教授、教室、授業時間割、カラーコーティングを追加してコースを管理できます。各コースの成績、履修単位、目標GPAを追跡し、ホームダッシュボードで視覚的な進行度リングを確認可能です。長押しで編集または削除。
タスクとメモ — 期限日と緊急度(通常/緊急)を持つタスクを作成できます。各コースには専用のメモタブとフィルター可能なタスクビューがあります。完了したタスクはトグルアニメーションエフェクトが表示されます。
コース教材 — リンク、メモ、またはアップロードされたファイル(PDF、画像、ドキュメント)を添付できます。ファイルはオフラインアクセスのためにアプリのドキュメントディレクトリにコピーされ、タップで開けます。
出席トラッカー — セッションを「出席」「遅刻」「欠席」「公欠」でマークします。月別カレンダービューで任意の日付をタップすると予定されている全コースが表示されます。パーセンテージ自動計算と設定可能な閾値警告付き。每日の授業予定にクイックアクションチップが表示されます。
Pomodoro タイマー — 集中セッション(1〜60分)、短休息时间(1〜30分)、長時間休息(1〜60分)を設定可能で自動回転します。セッションカウンター、振動フィードバック、オプションのバックグラウンド音楽再生、週間集中分析チャートが含まれます。
スクリーンタイムインサイト — ネイティブの UsageStatsManagerブリッジ経由でデバイス使用統計を取得します。アプリ別のデイリーデータは Hive にローカル保存され、Stats画面の展開パネルで表示されます。
統計と分析 — 文字grade変換付きCGPA計算(A〜F)、各コースの成績分布チャート、科目別進行度リング、週間のPomodoro集中時間チャート。チャートは CustomPaint で自作されており、チャートライブラリは不要です。
コミックプリントデザインシステム — ネオ brutualist マンガ美学を特徴とするデザインシステム。フラットなsurface、鋭い2.5pxの墨色ボーダー、硬質なオフセット影、ゼロの角半径。ライト、ダーク、システムデフォルトモードを提供し、年輪紙とダーク背景にシグネチャー Ink Red アクセント(#E63946)を使用します。カスタムナビゲーションバーはフラットジオメトリ、太い上部ボーダー、大文字ラベルを特徴とします。振動フィードバックとプレス音は切り替え可能です。
通知とアラーム — 毎週の授業リマインダー(授業開始15分前)、タスクリマインダー、セッションアラート、ネイティブレシーバーによる SCHEDULE_EXACT_ALARM での正確なアラーム。信頼性の高い起動のためにランタイムでバッテリー最適化の免除を要求します。
アプリ内アップデート — 起動時にGitHubリリースを確認し、markdown形式のリリースノートを表示。ダウンロードは一時停止、再開、キャンセルに対応し、中断中の進捗も維持されます。
アーキテクチャ — Clean Architectureに基づき、プレゼンテーション、ドメイン、データの3層が Riverpod で接続されています。ナビゲーションは GoRouter を使用し、ShellRoute が IndexedStack内で3つのタブルートをホストします。状態管理は共有リフレッシュカウンタープロバイダーパターンに依存します。
技術スタック:Flutter 3.27+、Dart >=3.6.0、Riverpod、GoRouter、Hive、table_calendar、flutter_local_notifications、just_audio、build_runner(hive_generator および riverpod_generator対応)。CI/CD は GitHub Actions で実行。
プラットフォームサポート:Android と iOS。AGPL-3.0ライセンス。ロードマップにはホームスクリーンウィジェット、クイックアクション、フラッシュカード機能が含まれます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.