4/17.log
log
今日は一日中プログラミングをしていました。今日はずっと雨が降っていましたね。一日中雨が降っていたのは久しぶりな気がします。
今日もgrpcでのログイン機能実装を行っていました。とりあえずバック側を実装していて昨日悩んでいたディレクトリは結構適当に決めました。現在はコントローラーのコード量が多くなっているので全体が出来上がった後に客観的に見て修正していこうと思います。
ディレクトリ構造を工夫した
一応ディレクトリ構造だけ載せておきます。
backend
├── .air.toml
├── .gitignore
├── Dockerfile
├── config
│ ├── logger.go
│ └── server.go
├── database
│ ├── UserRepository.go
│ └── connection.go
├── domain
│ └── user.go
├── go.mod
├── go.sum
├── handler
│ ├── AuthHandler.go
│ └── auth
│ ├── auth.go
│ └── containes.go
├── main.go
└── proto
├── auth.pb.go
├── auth.pb.validate.go
└── auth_grpc.pb.go
ポイントとしては認証関係をハンドラーの中に入れたところですかね?現状ハンドラー内にクエリ以外のコードを全て書いているのでそこら辺も後で分散させる予定です。
バックエンドの実装・確認
バックエンドは最低限の機能として登録、ログイン機能のみ実装して一度フロントと連携してみることにしました。その前にとりあえず手動でテストして動いているか確認。BloomRPCを使っています。ただ今回はメタデータも送信していてBloomRPCはまだ対応していないみたいなので grpcurlを入れてみたのですが結局叩く方法がわからず断念。フロントで直接確認することにしました。
フロント実装
フロント実装の流れもだいぶ様になってきた気がします。流れとしてはロジックなしのテンプレートを作成→カスタムフックにてロジック作成→確認となっていて効率も上がったかなといった感じです。最初からmaterial uiを使っているのでデザインの手間もだいぶ省けそうです。
進捗まとめ
今のところフロントの実装は一通り終わっていて新規登録+ログイン時にjwtがメタデータにて帰ってくることを確認しました。クッキーに保存したりといったことはまだできていないです。restでは自動で保存できるのでそのような機能があれば良いのですが探している途中です。またメタデータも自分のやりたかった手法で送れていないので明日はその確認から始めます。