1. ユーザー要件
対象ユーザー
学習内容を記録・管理したい個人ユーザー
学生や自己学習者が主な対象
目的
日々の学習内容を簡単に記録し、振り返りを容易にする
2. 機能要件
- ユーザー管理
- ユーザー登録
- ログイン/ログアウト (セッション管理)
- ユーザープロフィールの編集
- 学習日記管理
- 学習内容の登録 (タイトル、日付、内容)
- 登録した日記の閲覧 (一覧、詳細)
- 日記の編集・削除
- 学習履歴機能
- 過去の日記の検索・フィルタリング (日付やキーワードで検索)
3.非機能要件
- 性能要件
- 1秒以内のレスポンスを目指す
- 同時アクセス数50件を想定
- セキュリティ要件
- パスワードの暗号化
- JWTトークンを使用した認証
- 入力値のバリデーション (SQLインジェクション、XSS対策など)
- 可用性要件
- サービスの稼働率: 99%以上を目指す
- データバックアップを定期的に実施
4.技術要件
- バックエンド: Java (Spring Boot)
- フロントエンド: Vue3 + Vuetify
- データベース: PostgreSQL
- インフラ: Apache, Docker, AWS CodeBuild/CodeDeploy
- コンテナ化: Dockerを用いてアプリケーションを分離・管理
5.UI/UX要件
- UIデザイン
- シンプルで直感的な操作性
- モバイルフレンドリーなレスポンシブデザイン
- ユーザー体験:
- 操作のステップを最小限に
- 操作失敗時の明確なエラーメッセージ
6. スケジュール要件
- 2週間で開発・デプロイまで完了
- 設計: 2日
- 実装: 7日
- テスト: 3日
- デプロイ: 2日