Skip to content

Files

Latest commit

a3d019c · Nov 8, 2024

History

History
96 lines (67 loc) · 5.36 KB

Chap4.md

File metadata and controls

96 lines (67 loc) · 5.36 KB

Subject

Back to README

Back to Previous Chapter

研修修了課題として、バックエンド/フロントエンド別にそれぞれ課題を用意しました.

フロントエンド

都道府県別の総人口推移グラフを表示するSPA(Single Page Application)を構築してください.

イメージ図

内容

  1. RESAS(地域経済分析システム) APIの「都道府県一覧」APIから取得する
  2. APIレスポンスから都道府県一覧のチェックボックスを動的に生成する
  3. 都道府県にチェックを入れると、RESAS APIから選択された都道府県の「人口構成」を取得する
  4. 人口構成APIレスポンスから、X軸:年、Y軸:人口数の折れ線グラフを動的に生成して表示する
  5. 「総人口」の他に「年少人口」「生産年齢人口」「老年人口」も切り替えるUIを何らかの形で用意し表示できるようにすること(同時に表示する必要はない)

制約

  • 都道府県一覧および総人口情報はRESAS APIのデータを用いること
  • APIからデータを取得する際は、HTTPリクエストの作成機能を有した axios など、任意のツールを使用してもよい
  • グラフは Highcharts や Rechart.js などのサードパーティ製のグラフライブラリを用いて描画すること (ただし、グラフライブラリは上記のものに限らず、任意のものを用いてよい)
  • Google Chrome最新版で正しく動くこと
  • PC/スマートフォン表示に対応すること(レスポンシブデザイン対応) ただし実機でなく、Google Chromeの検証ツールで確認できればよい
  • リンターやフォーマッターを適切に設定すること
  • リンターにはESLint、フォーマッターにはPrettierを使用すること
  • TypeScriptで記述すること
  • テストケース/テストコードを作成すること
  • テストツールは任意のものを用いてよい
  • テスト実行時にエラーが発生しないこと
  • ソースコードはGitで管理し、作成したソースコードはGitHubにアップロードすること
  • Netlify / GitHub Pages / Firebase hosting / Vercel 等のホスティングサービスにデプロイし、インターネット経由で閲覧できる状態にし、そのURLを提出時に共有すること

注意事項

  • RESAS APIの利用登録(無料)を行い、API Keyを発行すること
  • セキュリティを考慮してコードを記述すること
  • アプリのコンポーネント粒度の設計、Gitコミットメッセージやコミット粒度、ドキュメンテーション等もレビュー対象となる、チーム開発を意識してコードを記述すること

参考

バックエンド

技術要件

  • API -> FastAPI (poetry管理)
  • DB -> お好みのDBを使用してください。sqlite3でも可能

実装内容

イメージ図

作成してもらうのは上のような簡単なTODOアプリです(APIの部分のみでHTML&CSSは不要)

  1. ユーザーはTODOリストを追加することができる。(認証機能は無し)
    1. TODOリストにはタイトルと締切、メモを追加することができる。
    2. TODOリストにはそれぞれ、子タスク(図中ではステップ)を作成することができる。子タスクはその下に子タスクを持つことはできない。子タスクには、名前だけを持たせる。
  2. タスクは古い順に上から並べて表示する。
  3. ユーザーは上の検索ボタンからタスクの名前で検索を行うことができる。
  4. TODOリストのデータはDBに保存されている。

image

参考にしたのはMicroSoftのTODOリストです。機能を絞ってありますが、もしも動作を確認したい場合は、以下のリンクからアクセスできます。 もしも要件でわからないところがあれば参考にしてください。

制約条件

  • FastAPIやDjango Rest FrameworkなどChap2で学習したフレームワークを使用して作成すること.
  • リンターやフォーマッターを適切に設定すること
  • リンターにはflake8、フォーマッターにはblackを使用すること
  • なるべくTypeHintが記述されていること
  • テストケース/テストコードを作成すること
  • テストツールは任意のものを用いてよい
  • テスト実行時にエラーが発生しないこと
  • ソースコードはGitで管理し、作成したソースコードはGitHubにアップロードすること

次のChapterを始める前に

本リポジトリをcloneして,改善点を見つけてPull Request(以下、PRと省略)を出しましょう! どんな些細なPRでも構いません!:pray: 改善点のPull Requestが出されたら、本Chapterのフィードバックと次Chapterのプランを作成するための面談をセットするので改善点のPull Requestはどんな内容でもいいので必ず出してください!

Go to Next Chapter