鍵管理アプリ(keyhub)のチーム開発
大学のアナログな鍵管理システムを改善するための「鍵管理アプリ」の開発に取り組んでいます。大学内友人と進めているプロジェクトで、要件定義や全体の雛形まではペアプロで行いました。現在はそれぞれに分かれて私はバックエンドの機能追加を担当しています。大学のハッカソンや学生チャレンジ活動で採用されることを目標とし、将来的には他の大学システムとも連携できるよう、Go言語と Connect RPC を用いてマイクロサービスを意識した設計にしています。 実装面では、型安全性とコードの自動生成を意識しました。Connect RPC を用いてフロントエンドとバックエンド双方のコードを生成し、インターフェイスのずれを防いでいます。また、データベースとのやり取りには、SQLのクエリから Go のコードを生成できる sqlc を利用しています。Repository やインターフェイスの両側を自動生成することで、手作業の重複実装を減らし、アプリの本質的なドメインロジックの設計と実装により集中できるよう工夫しています。
