プロジェクト

全般

プロフィール

バグ #535

未完了

[テンプレート] バックエンド実装+テスト - ユーザー登録API

Redmine Admin さんが8日前に追加. 8日前に更新.

ステータス:
新規
優先度:
高め
担当者:
-
開始日:
2025-06-11
期日:
進捗率:

0%

予定工数:

説明

概要

このチケットは「実装+テスト」セットテンプレートのサンプルです。バックエンド機能の実装と、それに対応する単体テストを含んでいます。

実装要件

  1. 機能仕様

    • エンドポイント: /api/v1/users
    • メソッド: POST
    • 入力パラメータ:
      • username: 文字列(必須)
      • email: メールアドレス形式(必須)
      • password: 文字列(必須、8文字以上)
    • レスポンス:
      • 成功時: 201 Created, ユーザーデータ(パスワードなし)
      • 失敗時: 400 Bad Request, エラーメッセージ
  2. 技術的要件

    • Express.jsルーターの実装
    • 入力バリデーション
    • パスワードハッシュ化
    • データベース保存
    • エラーハンドリング
  3. セキュリティ要件

    • パスワードはbcryptでハッシュ化
    • 入力値のサニタイズ
    • レート制限の適用
    • トークン検証(認証済みユーザーのみ作成可能)

テスト要件

  1. 単体テスト項目

    • 正常系テスト:
      • 正しい入力での新規ユーザー作成
      • レスポンスの検証(ステータスコード、形式)
      • パスワードハッシュ化の確認
    • 異常系テスト:
      • 不正な入力パラメータ(バリデーションエラー)
      • 重複ユーザー名/メールアドレス
      • 認証失敗時の動作
      • レート制限超過時の動作
  2. テスト技術

    • Jest/Mocha使用
    • テスト用DBの準備(インメモリまたはDockerコンテナ)
    • モック/スタブの活用
    • カバレッジ計測(目標: 90%以上)

依存関係

  • バックエンド基盤構築が完了していること
  • データベースマイグレーションが完了していること
  • 認証システムが実装されていること

完了条件

  1. 実装コードがコードレビューを通過
  2. 単体テストが全て成功
  3. テストカバレッジが目標値を達成
  4. APIドキュメントが更新されている

親チケット

  • ユーザー管理システム実装

担当者

  • 実装担当:
  • テスト担当:
  • レビュー担当:

注意事項

  • このチケットは実装とテストを一体で管理します
  • 実装完了後、テストを作成し、両方が完了したらクローズします
  • テスト先行開発(TDD)も可能です

Redmine Admin さんが8日前に更新

親チケット#525との親子関係を設定します。これはテンプレート例として、バックエンド実装+テストの統合チケットテンプレートです。

他の形式にエクスポート: Atom PDF