管理画面の実装基盤の整備
課題
社内で作成したストーリーの公開作業や、監視作業等のために使っている管理画面がかなり古い基盤に基づいて作られたもので、どんどん手を入れづらい状況になっている。
古くは Golang Template だけで作られていたが、インタラクティブな操作を実現するために一部に Vue.js を導入したり、両者が混在していたりしている。
protocol buffer で定義した iOS/Android/Web 向け API とは別に管理画面向けの API も管理しているが、後者は特に API 定義等もないため、クライアント側でのコード生成等もなく人手による動作確認だけで動作を担保している体制でバグの非常に発生しやすい状況となっている。
管理画面技術スタック
- HTML: Golang template + Vue.js
- CSS: Pure CSS + 独自の手書き CSS
- API: martini framework(API 定義やコードの自動生成なし)
- Auth: AppEngine の app.yaml による login 制御 (deprecated)
展望
サービス運営に必要なオペレーションを最適な形で素早く実現していくための実装基盤が必要。
- API: GraphQL で API 定義して、アプリ向けの API と Admin 向けの API を統合する
- UI: Chakra UI や Tailwind UI 等、基本的なコンポーネントやレイアウトシステムが揃っていてカスタマイズしやすいものを使いたい
- Auth: Identity Platform