見出し画像

PAC Travel 2023 開発秘話

PAC Travel 2023はPACで2023年に行われた社員旅行となっており、
社員旅行は毎年シークレット旅行という、旅行当日まで行き先は知らされないのが特徴になります。

PAC社員旅行については、下記記事にまとめておりますので御覧ください。


そんな旅行における重要な役割を担う「しおり」システムを、社内エンジニアが開発してみた話を公開します。


1.しおりシステム開発の概要

PAC Travel 2023は、6人のチームによって開発された旅行サイトです。
開発チームは、1人がデザインや仕様の決定を担当し、4人が実装を行い、
1人が認証処理のアドバイスとインフラの見積もりを担当しました。

シークレット旅行では行き先だけではなく、次の予定や翌日のスケジュールも直前まで未公開なため、より社員に楽しんでもらうために、しおりサイトでの一斉公開で一体感を生み出したいという思いから開発に至りました。

社員旅行では、普段の業務ではかかわることのない人との交流が行われるため、親睦を深めやすいようしおりサイトにて社員全員のプロフィール公開を行い、横のつながりが行いやすくなるよう設計をしました。

2. 開発の背景・要件

社内の開発者が社用携帯を持たないため、Slack(連絡)の運用が難しく、紙での情報共有も失くす恐れもあり、不便そうという問題がありました。
また、社員旅行計画チームのリーダーの思いとして、社員にワクワクを届けるために旅行サイトを開発することが決定されました。

要件は以下を想定して開発に着手しました。

  • ログイン・ログアウト機能

  • ソーシャルブックマーク機能を兼ね備えたトップページ

  • 社員全員のプロフィール情報を確認できるページ

  • フォトコンテスト用の写真投稿機能

  • フォトコンテストで自グループへの「いいね」カウントON/OFF

  • フォトコンテストの写真は自動で会社のGoogle Driveに保存

  • 投稿された写真を閲覧できるページ

  • 投稿された写真にいいねやコメントをつける機能

  • 表彰用の審査員が写真を確認できるページ

  • イベントの進行に伴い、その人にあったメッセージをタイムリーに更新

3. 技術スタック

PAC Travel 2023で使用された技術スタックは、BackendにC# .net core、WebサーバーにPaaSのAzure AppService、DBにMysqlを使用しています。

選定背景
速く開発するために学習コストの低いものの選定
インフラの運用コストが最小限のものを選定

4. サイト全体構成

サイトの構成は下記画像の通りになっております。


5. 開発スケジュール

弊社開発の特徴として高速開発が挙げられるのですが、画像の通り普段の業務が生きた高速開発のスケジュールになります。
各エンジニアが得意の分野を担当し、同時進行開発を行うことで、短期スケジュールによる開発を実現させることが可能となりました。

6. 旅行当日の開発内容

旅行当日には、ログイン時間の短縮やプロフィール全閉、フォトコン投稿日時のバグ修正などが行われました。
また、フォトコンテストの集計お知らせ部分は静的で、修正・デプロイを何回もすることであたかも動的かのようにしていました。

7. 開発反省点

開発チームでは、旅行当日緊急を要さないデプロイをするべきではなかったと反省しています。

また、お知らせ部分は内容が変わりがちなため、デプロイを経ない方法で修正をすることができたはずでした。

さらに、フォトコンテストの機能を使いまわしてお知らせを投稿することで、デプロイが不要になります。

ログの出力や、Application Insightsの確認を適切に行うことも必要であり、当日、バグが出た時の調査に時間がかかってしまいました。

8. しおりサイト開発でやり残したこと

チャット機能を付ける
どうしても社員同士でチャットしたいタイミングがあったり、重要な移動の連絡、細かな時間の共有でslackを使用する場面があった。
⇒アプリ内にチャット機能を付属させることで、社用携帯を持たない人もその輪に入ることができたはずだった。

通知機能を付ける
チャット機能をリアルタイムチャットにするのであれば、Socketでかつ、通知機能にもできた。
もしくはアプリ化にすることで通知機能まで対応することができたかもしれない。

9. さいごに

PACエンジニアはソリューションの開発がメインになっているが、
こういったイベントを通じてチャレンジができる環境もあります。

イベントで開発したシステムはすぐに利用してもらえますし、PACサイクルという文化があり、意見をもらいやすい社風のため、フィードバックをもらい、すぐに反映し、システムの改善を図ることで、一人では実現できない付加価値を生み出すことができます。


PACサイクルについては👇


PACでは、一緒に働ける仲間を募集しております!
ご応募お待ちしております🙋‍♂️🙋‍♀️

この記事が参加している募集