大学3年 / ソフトウェアエンジニア志望
本アプリは、就活に関する企業情報・選考状況・スケジュール・タスク等を一元管理できるWebアプリケーションです。
複数企業の選考を並行して進める中で、情報が分散することによる管理の煩雑さを解消し、 効率的に就職活動を進められるようにすることを目的としています。
| メールアドレス | パスワード |
|---|---|
| test1@example.com | password123 |
主要ライブラリ
本アプリでは、データの整合性を保ちながら、柔軟に情報を管理できる仕組みの設計に注力しました。
特に選考状況の管理では、前のステップが合格にならない限り次のステップに進めないよう、バックエンドで状態遷移を制御しました。
また、企業一覧などの並べ替え機能では、各レコードに一定間隔で整数のpositionを割り当て、並べ替え時には前後の値の中間値を設定する方式を考案・実装しました。 中間値を確保できなくなった場合のみ値を振り直すことで、更新対象を抑えられるよう工夫しました。
本アプリでは、OpenAPIを導入し、API仕様からフロントエンドの型定義・APIクライアントとバックエンドの型定義を自動生成しました。 これにより、フロントエンドとバックエンドの仕様の不整合を防ぎ、保守性を高めることを目指しました。
API設計では、リソース間の関係をエンドポイントにどう反映するかに苦労しました。 そこで、企業に完全に従属する情報はネストしたパスで扱い、独立して管理できる情報はトップレベルのパスに配置し、企業との紐付けをクエリパラメータで指定する方針としました。
この経験から、API設計では各リソースの性質や利用方法を考慮し、一貫性のある構造にすることが重要だと学びました。
本アプリでは、初めてフロントエンドの実装を全面的にコーディングエージェントに任せる開発手法を実践しました。
まず、ディレクトリ構成やコーディング規約を指定した上で、画面要件を伝えてモックを作成させ、 その後、OpenAPIによるAPI定義の完成に合わせて実際のAPIとの連携も実装させました。
一方で、開発途中に新たな設計方針やルールを追加したことで、既存コードの修正や手戻りが発生する場面もありました。
この経験から、自分で設計・管理する部分とAIに実装を任せる部分の責任範囲を明確にし、 事前に方針や制約を整理することが、コーディングエージェントを効果的に活用する上で重要だと学びました。
認証機能
やりとり履歴の自動記録
通知機能
ES×AI機能