# プロジェクトの概要
既存のRailsアプリケーションにおけるフロントエンド部分を、Next.js と TypeScript を用いてフルリニューアルしたプロジェクトです。技術負債の解消と表示速度の改善を主な目的とし、UIの刷新とともにコンテンツ管理の体制も見直しました。
# 背景と目的
長年運用されてきたRailsベースのアプリは、JavaScriptのスパゲッティ化や保守の難しさが課題となっていました。また、表示速度の遅さやSEO対応の限界もあり、モダンなフロントエンドフレームワークへの移行が急務でした。
# チーム構成、担当した役割
- エンジニア:2名
- デザイナー:1名
エンジニアチームにはNext.jsやTypeScriptの知見がほとんどない状態からのスタートでしたが、各自がキャッチアップを進めつつ実装に取り組みました。
その中で私は主に 記事コンテンツ部分のリニューアル を担当。従来は自社管理画面で管理していた記事コンテンツを、外部CMS(microCMS)へ移行する方針に従って、移行・実装・表示ロジックの構築まで一貫して担当しました。
# 課題と工夫した点
- 社内にNext.jsの知見がなかった ため、公式ドキュメントやコミュニティの情報を活用し、ベストプラクティスを常に意識しながら実装。
- CMS移行では、従来の運用フローとのギャップやビジネス要望の調整が必要でした。ビジネスサイドとのコミュニケーションを密に行い、デザイナーと相談しながら最適なUI設計とAPI連携を実現。
- 記事ページではSEOを意識し、構造化データの導入やOGP対応も含めた設計に。
- レンダリング戦略としてキャッシュ利用とコンテンツ更新時のWebhookも併せて実装し、表示速度と更新性を両立。
# 成果
- パフォーマンス改善:Search Consoleの指標が向上しました。
- 運用負荷の軽減:外部CMSへの移行により、非エンジニアでも記事更新が可能になり、運用チームの負担を大幅に軽減。
- 保守性向上:TypeScriptによる型安全とNext.jsのファイルベースルーティングにより、機能追加や修正が容易になりました。