フリーランス会計士向け会計システム リニューアル開発
概要
フリーランス会計士向け会計システムの運用保守とリニューアル開発。
- 開発期間:2021年10月〜2022年12月
- システム形態:Webシステム
- 使用技術
- フロントエンド
- 言語:JavaScript → TypeScript
- フレームワーク:Vue2 → Vue3
- バックエンド
- 言語:JavaScript → TypeScript
- 環境:Lambda
- フレームワーク:AWS Amplify
- テストフレームワーク:jest
- DB:DynamoDB
- フロントエンド
PJ体制と担当業務
- 担当領域:フロントエンド、バックエンド
- 役割:技術リーダー (私以外にデザイナー1名、若手エンジニア1名)
リニューアルの経緯
前任者が顧客とやり取りしながら初期開発を行っていた。私と入れ替わる形で前任者が離職し、当該システムを引き継ぐことになったが、以下状況だった。
- フロントエンド処理内で金額計算がハードコーディングされており、金額改竄のセキュリティリスクが存在
- 仕様を明記した設計書が存在せず、どういうルールや理由で各種金額を算出しているのか不明
- 前任者と顧客側の担当者が密接に連携しながら、必要に応じて機能を随時追加する形で開発が進められていたため、この2名以外には画面の使い方が理解しづらい状態となっていた。
- 前任者がVueを初めて使用して開発を試みたため、Vueのフレームワークの特性を十分に活用できておらず、保守性が低い状態だった。
引継ぎ当初は、段階的にリファクタリングを進めてコードの品質向上を図っていたが、会社がシステムをパッケージ化して顧客拡大することを目指していたため、現状のままではリスクが高いと判断した。そこで、システムの基本設計から見直し、再構築することを提案した。
やったこと
- 仕様を整理して設計書作成
- 金額計算処理をバックエンドに移行
- 金額計算などの重要処理については、テストコードを用意してデグレ対策
- JavaScriptをTypeScriptに移行して、型チェックの効く形にして保守性向上
- 参入先の若手エンジニアに対してソースコードレビュー等を通じて技術伝授