TITLE[研修アイデア]APIプログラミング
ドメイン駆動設計を意識して、APIプログラミングを体験します。
開発テーマ
あなたは日々の業務を記録するために、日報を作成しています。
日報の一部を以下に例示します。
日付:2026/1/11
報告者:石川啄木はたらけど
はたらけど猶なほわが生活楽にならざり
ぢっと手を見る
日付:2026年1月12日
報告者:石川啄木実務には役に立たざるうた人と
我を見る人に
金借りにけり一度でも我に頭を下げさせし
人みな死ねと
いのりてしこと
1月13日
啄木わが抱く思想はすべて
金なきに (あとで書く)
あなたは後から日付を指定して、過去の日報を振り返りたいと考えています。 しかし、日報をテキストファイルで管理しているため、この作業が煩わしいと感じています。
そこで、この日報の管理をシステム化したいと考えました。
システム化要件
システム化するにあたり、以下のような機能を備えたいと考えています。
- 日報を書けること
- 日報を下書きできること
- 下書きを編集できること
- 下書きを完了したら公開できること
- 公開後は編集できないこと
- 日報を読めること
- 日報を一覧できること
- 日報を単一日付で検索できること
また、開発にあたって以下の点に留意したいです。
- 機能要件をもとに、ユースケース図・DFD・ERDを作成すること
- ドメイン駆動設計を意識し、レイヤードアーキテクチャを使用して、各層分離すること
- RESTful APIとすること
取組みにあたっての留意事項
- プログラミングを目的とした演習なので、AIを使用した実装は禁止します
- 完成した実装は都度講師からのコードレビューを受けてください
- 講師にレビュー依頼する前にAIによるコードレビューを積極的に実施してください
- 仕様の不明点については、講師を案件発注者に見立ててヒアリングを実施してください
- 正解は一つではありません(ただし要件違反は不正解とみなされます)
- 受講者ごとに完成形が異なってもよく、それもまた良い体験になります


