【2021年8月 2weeksインターンシップ】インターンシップでPowerAutomateとDataverseに初挑戦!

株式会社FIXER新卒採用担当の諸見里です。この度、8月16日~27日までの2週間で夏季インターンシップを実施いたしました。今回のインターンシップは18名にご参加いただき、最終日に参加者全員にブログを書いていただきましたので、その内容を代筆いたしました。以下内容がインターン生のブログになりますのでご覧ください。

2Weeksインターンシップに参加した吉川です。

インターンシップでは講習やハンズオンのあと4人チームを組み、地方行政が抱えている課題をPowerPlatformを活用して解決するという課題に約1週間半で取り組みました。 この記事では開発の過程や技術的な挑戦について書こうと思います。

・製品の概要

私たちのチームは、保育園職員の事務負担の軽減、単純作業の省力化を目的とし製品を開発することにしました。

ただし今回は作業できる時間が限られているため

  • 出欠確認
  • 登園確認
  • お知らせ配信

この3つに機能を絞って実装を行いました。

私は主に出欠確認, 登園確認を担当しました。

・設計

操作の流れは主に3ステップあります。

  1. 保護者が体温, 出欠可否, 必要に応じて欠席理由を入力する(保護者UI)
  2. 登園したら入り口のタブレットで登園したことを入力する(登園UI)
  3. 保育士が園児の出欠状況, 体温を確認する(スタッフUI)

このうち1と2の操作は行われない/順番が前後する可能性があるため、それを考慮して設計を行いました。

スタッフUIでは条件でフィルターできると便利だと考え、日付やクラス名のほか、登園できない園児や熱がある園児もフィルターして表示できるようにしました。

その結果構成とリストの列は以下のようになりました。

構成図

リスト一覧

・技術的挑戦

・Dateverseで主キーを複数指定したい

調べた限り、SQLのように主キーを複数指定する方法はDataverseには見つかりませんでした。試行錯誤の結果、園児IDと記録日(yyyyMMdd)を連結させた文字列を主キーとして扱うことにしました。

・PowerAutomateでDateverseの排他処理を行いたい

私たちの設計では、1つの行に対して2回以上書き込みを行うようになっているため、2回目以降はデータの追加ではなく更新を行う必要がありました。しかしこれも都合のいいフローは見つからず、メンターの皆さんと相談して諦めることにしました。

後に考えたことですが、出欠,体温,欠席理由と登園を別のリストに格納すれば解決できたのかなと思います。

・感想、まとめ

まず、メンバーとして一緒に取り組んだ皆さんの吸収力の高さに驚きました。メンバーの力がなければ製品を完成させることもできなかったと思います。

また趣味の開発と違い、今回の開発では締切や作業時間が決まっていました。そのため限られた時間で高い成果を出すかを常に考えさせられました。