-
Webベンチャー企業にて、公的団体のCRMシステムの新規実装
■ プロジェクトの目的
公的機関の顧客管理システムをより使いやすくリニューアルする
■ 体制・人数
PL1人、PM兼PG1人、PG3人
■ 自分のポジション・役割
PM兼メインPGとして、主要機能の開発を行った。
■ 目的を達成する上での課題
zoom連携によるWEBセミナー参加管理や外部アンケートシステムとの連携による結果集計など外部システムとの連携部分が多く、また、機能として多くの権限種別が存在し、各権限によってアクセス可能な機能が複雑な仕様だった。
■ 課題に対して取り組んだこと
全体のシステムを利用目的ごとに複数の領域に分割し、それぞれの領域別のロジックとシステムとして共有する処理を切り分けて実装する、DDDの考え方を取り入れた設計を採用した。
■ ビジネス上の成果
期限通りに納品し、本年度より試験運用が開始している。PHP(Laravel)、Javascript、Docker
-
Webベンチャー企業にて、イベント用感染症関連接触管理システムの開発
■ プロジェクトの目的
イベント会場向けに、QRコードを用いて参加者としてのユーザー登録を行い、参加者中にコロナウイルス感染者が出た場合に接触可能性のある参加者へ通知を行うシステムの構築
■ 体制・人数
PL1人、PM1人、PG2人
■ 自分のポジション・役割
PGとして、テーブル構造など基本設計とバックエンド主要機能の実装
QRコードの読み取りによってユーザー識別子の発行を行い、連絡先入力画面へ遷移させる機能のPoC実装
■ 目的を達成する上での課題
要件として、通知に携帯電話SMSを利用することがあったため、LaravelシステムからのSMSの発行を行う必要があった
多数のユーザーに対する一斉通知など、使いやすいユーザー管理システム構築の必要があった
■ 課題に対して取り組んだこと
AWS SNSを利用し、aws-sdkライブラリを用いてシステムから機能を呼び出せるよう実装した。
Laravel-Admin等のOSSを利用してダッシュボードを開発した。
■ ビジネス上の成果
納品後、運用は別の会社が担当しているが、昨年末より実案件で稼働しているとのこと。PHP(Laravel)、Vue.js
-
Webベンチャー企業にて、健康管理アプリの開発 Flutter/PHP(Laravel)
■ プロジェクトの目的
健康管理アプリとそのバックエンドAPIの作成
■ 体制・人数
PL1人、PM1人、PG2人
■ 自分のポジション・役割
PGとしてバックエンドAPIの主要機能の作成、アプリ側の一部実装
■ 目的を達成する上での課題
メンバーのほとんどがWEB系技術以外の経験に乏しい中で、ネイティブアプリ開発の必要があったこと
■ 課題に対して取り組んだこと
Flutterとそのライブラリ(状態管理用にRiverpod)を選定し、学習コストが極力低くなるよう努めた。
■ ビジネス上の成果
納品後、保守運用は別会社が担当しているが、現在もストアにて提供されている。Flutter,PHP(Laravel)
-
Webベンチャー企業にて、自社開発アナログゲームのティザーサイト作成
■ プロジェクトの目的
自社で新規に開発したアナログゲームを、即売イベントにて販売するにあたっての周知、広報
■ 体制・人数
1人
■ 自分のポジション・役割
PL兼PG
■ 目的を達成する上での課題
単なるティザーサイトではなく、PRを目的として若干の「遊べる要素」(販売したゲームの内容に関連するもの)を実装する必要があり、そうした動きがあるサイトを最小コスト・工数で作成する必要があった
■ 課題に対して取り組んだこと
Nuxt.jsを採用し、サイトとしての機能と先述の遊べる要素を低コストで実装できるようにした。
デザインにはTailwindCSSを採用し、見た目上の洗練度と実装の迅速さ、管理の容易さを両立した。
コンテンツの更新は該当ブランチへのpush時に、Github Actionsを利用してGithub Pages上へ自動デプロイする形式を採用した。(更新を行うのは自社内エンジニアのみの想定であったためそれで機能として十分だった)
■ ビジネス上の成果
SNS上でサイトへ一定の反応があり、該当ゲームの売れ行きも比較的順調なものとなった。Vue.js,Nuxt.js,Github Actions,Node.js,TailwindCSS
-
Webベンチャー企業にて、公的施設の公式サイトリニューアル
■ プロジェクトの目的
レガシーシステムにて管理されていた公的施設の公式サイト(CMS)のシステム刷新
■ 体制・人数
PL1人、PG2-3人
■ 自分のポジション・役割
PGとしてCMS主要機能の開発、PMも兼ねてクライアントの要望を聞き入れての仕様調整
デザイン事務所からaiファイルで共有されたデザイン案のコーディング、動き部分のjs実装
開発したシステムのCMS
■ 目的を達成する上での課題
wordpressとcakephp(1系)によって作られたサイトのシステムをLaravelに移設したため、既存システムにあるCMS機能をほとんど独自実装する必要があり、見た目以上に実装工数が大きくなった。
■ 課題に対して取り組んだこと
基本的なCRUD機能をOSSライブラリ(laravel-admin)に任せ、ライブラリの実装を把握した上で一部処理をオーバーライドして追加で必要な機能(リビジョン管理、記事のレビュー/承認機能など)のみを実装する形とした。
レガシーシステムの仕様を愚直に踏襲するのではなく、クライアントと連絡を密に取り合い、各機能の利用頻度や旧システムを使っていて出た要望などを整理し、必要十分かつより管理・運用しやすいシステムの構築に務めた。(結果的に、実装としてコストの低い設計を採用できる場合も多々あった)
■ ビジネス上の成果
納期通りに納品し、クライアントにも使いやすく(また、見た目も良くなった)と大変喜んで頂いた。PHP(Laravel)、HTML、jQuery、Bootstrap
-
Webベンチャー企業にて、ソーシャルゲームの限定イベント用サイト制作
■ プロジェクトの目的
数十万UU程度のスマートフォン向けソーシャルゲームのプレイヤー向けSNS連携イベントサイトの作成
■ 体制・人数
PL1人、PG1人
■ 自分のポジション・役割
PGとして、ほとんどの機能(ソーシャルアカウントログイン・ゲーム内で発行されるシリアルコードの照合、ユーザー毎のコード認証状況管理等)の実装
同じく、先方から共有されたHTML・CSS・JSのシステムとの繋ぎこみ(Laravel用bladeテンプレートへのコーディング作業含む)
■ 目的を達成する上での課題
比較的短納期のプロジェクトであったため、モックの作成から迅速に進めていく必要があった。
また、自社・クライアント共にソーシャルログイン機能実装の経験が乏しく、Twitter API関連の仕様についても調査を行いながら取り組む必要があった。
■ 課題に対して取り組んだこと
デバッグ工数をあまり確保出来ないことが予想されたため、プロジェクトの初期段階からLaravelビルトインの機能を利用したユニットテストを実装作成しつつ実装を進めた。
また、Laravel-Admin(管理画面用)やSocialiteといったライブラリを活用し、実装工数の節約に努めた。
■ ビジネス上の成果
無事スケジュール通りのリリースを行え、2ヶ月弱のキャンペーン期間中大きな不具合もなく、また直接自分の成果とは関係ないものの、キャンペーン自体も十万人弱のプレイヤーが参加する上々のものとなった。PHP(Laravel)、Docker、Javascript(ES6)
-
Webベンチャー企業にて、数十万UU程度のソーシャルゲームのバックエンド開発・運用保守
■ プロジェクトの目的
10年近く続くストラテジー系ソーシャルゲーム(元はFlashゲーム)の運用保守、新機能追加、バックエンド側のパフォーマンス改善
■ 体制・人数
正社員3人+アルバイト1-2人のチーム
■ 自分のポジション・役割
PGとして新機能実装やユーザデータ集計、不具合調査、既存機能の改修
■ 目的を達成する上での課題
10年近く運用されてきたシステムであったため、選定技術としても古く、また相当な規模のゲームでもあったためにパフォーマンス面にかなり問題が生じていた。
■ 課題に対して取り組んだこと
キャッシュシステムや実装の最適化(利用していたFW(FuelPHP)が、DBレコードを元にオブジェクト生成を行う部分にボトルネックを抱えていたため、データ絞り込み部分をORMからクエリビルダに移す等)を行うとともに、PHP5系から7系(当時)へのアップグレードを行った。
■ ビジネス上の成果
APIのレスポンスタイムは、全APIの平均として200%以上高速化(時間にして半減-1/3程度になった)した。PHP(FuelPHP)、MySQL