## プロジェクト概要
自社人事SaaS「LaKeel HR」の保守開発プロジェクト。Vue.js/Nuxt.js + Node.js + PostgreSQL/MongoDBを技術スタックとした業務システムのフロントエンド・バックエンド双方の機能開発・テスト作成・保守を担当。
## チーム情報
- チーム構成: エンジニア6名(フロントエンド3名、バックエンド2名、リードエンジニア1名)
- 自身の役割: フルスタックエンジニアとして、GitHub Issue駆動でフロントエンド・バックエンド双方の機能開発を担当
## 開発・実装内容A: フロントエンド機能開発(Vue.js / Nuxt.js)
【概要】
Vue.js/Nuxt.jsを用いた人事管理画面の機能開発・UI改善を担当。
【どのような機能の開発・実装か】
人事情報管理画面のコンポーネント開発、データバインディング、フォームバリデーション、一覧画面のフィルタリング・ソート機能を自身で設計・実装。Vuexによる状態管理パターンの構築も担当。
【課題・問題点】
既存画面のコンポーネントが肥大化しており、機能追加のたびに影響範囲の把握が困難になっていた。また、バリデーションロジックが各画面に分散していたため、仕様変更時の修正漏れリスクがあった。
【打ち手・使用した技術】
- 肥大化したコンポーネントを責務ごとに分割し、再利用可能な共通コンポーネントとして自身で再設計
- バリデーションロジックを共通ユーティリティに集約し、一元管理できる構造に自身でリファクタリング
- TypeScriptの型定義を活用し、Props・Emitsの型安全性を担保
- 使用技術: Vue.js, Nuxt.js, TypeScript, Vuex
## 開発・実装内容B: バックエンドAPI開発(Node.js / PostgreSQL / MongoDB)
【概要】
Node.jsによるREST APIの開発と、PostgreSQL/MongoDBのデータモデリング・クエリ最適化を担当。
【どのような機能の開発・実装か】
人事データの CRUD API、検索・フィルタリングAPI、バッチ処理の実装を自身で担当。PostgreSQLでリレーショナルな人事マスタデータ、MongoDBでログ・履歴系の非構造化データを管理する設計。
【課題・問題点】
人事データは部署・役職・評価など多テーブルにまたがるリレーションが複雑で、N+1問題が発生しやすく、一覧画面のレスポンスが遅延していた。
【打ち手・使用した技術】
- JOIN句の最適化とインデックス設計を自身で見直し、一覧API のレスポンスタイムを改善
- MongoDBのaggregation pipelineを活用して履歴データの集計処理を効率化
- API設計においてページネーション・フィルタリングの共通パターンを自身で策定
- 使用技術: Node.js, PostgreSQL, MongoDB, TypeScript
## 開発・実装内容C: AI駆動開発の導入・テスト基盤構築
【概要】
AI駆動開発ツール(Claude Code)の業務導入と、テスト基盤の構築を自身が主導して推進。
【課題・問題点】
チーム全体でテスト文化が根付いておらず、手動テストに依存していたため、リリース時のデグレリスクが高かった。また、機能開発の速度向上が課題となっていた。
【打ち手・使用した技術】
- Claude Codeを業務に導入し、コード生成・レビュー・テスト作成を効率化。自身の作業時間を50%以上削減
- GitHub Issueベースの開発フローにAI支援を組み込み、Issue起票→実装→テスト→PRの一連のサイクルを標準化
- GitHub Actionsで自動テスト・Lint実行のCI/CDパイプラインを自身で構築
- 使用技術: Claude Code, GitHub Actions, Git, CI/CD, TDD