# 概要
ネットワークに接続された端末にデジタルサイネージを配信するシステム。
クラウドネットワークを通じて、端末で再生するコンテンツを管理可能。
# 担当
- 機能追加の詳細設計・実装・テスト
# 主な実績・開発機能
## Vagrantを用いた開発効率向上
自分が参加する以前、プロジェクトの開発方法は、開発用サーバに直接ログインし、ソースコードを編集するというものだった。
メンバー全員が自由にソースコードを編集できる状況で、複数メンバーが同時に作業をするとコンフリクトやエラーが頻発し、効率が良いとは言えないような状況だった。
開発体験向上のため、Vagrantを使用してローカルに開発環境を構築することを考えた。当時の自分はVagrantの名前と概念を少し知っている程度で、これを使った作業自体は全くの未経験だったが、現サーバ環境の調査やDBの復元等も含め、作業を始めて2日で開発環境を再現することに成功した。Vagrantfileを共有すればプロビジョニングも簡単に行えるので、他の開発者も、また自分が別のPCで作業をすることになっても簡単に環境の再構築ができるようになった。
## DBとWebStorageを連携させたデータ管理機能
ある新機能を追加するにあたり、ユーザ + 画面単位でデータを保持する必要があった。データは全てDBで管理する手段も考えられたが、パフォーマンス上DBへのリクエストを極力減らしたいこともあり、WebStorageを用いて要望を実現することを提案し、設計を行った。
WebStorageを利用した既存実装は無く、メンバーの中にも経験者がいなかったため、実装も自身で担当した。自身も実務に導入するのは初の経験だったが、想定通りの機能を作ることができた。
## ドキュメンテーション
当時プロジェクトで使用していたフレームワーク Drupal は日本語の情報が少なく、公式ドキュメントの記載も荒かったので、フレームワークの機能を活かして開発するのに苦労することが多かった。
開発中に調査したことや実装に関するメモを積極的に残し、以降の開発をスムーズに進められるよう心がけた。