はじめに
フロントの描画をvue、バックエンドをgolangで実装し、ログイン機能を実現したものをgithubで公開しました。
https://github.com/rirma/vue_golang_framework
Vue.jsとgolangで構築している記事は何個か見かけましたが、そのまま使えるログイン・ログアウトの機能を実装しているものや、dockerで開発できる環境をgitで公開してくれているものが存在しなかったため構築しました。
今回は、公開した機能一式の説明をします。
環境
- PC: MacBook Pro (15-inch, 2019)
- OS: Monterey
- golang: ver1.17
- Vue: ver3.2.13
goのフレームワーク
Webフレームワーク: gin
DB接続関連: gorm
LaravelライクなMVCモデルを目指して構築しています。
試される方いらっしゃいましたらまずはgithub記載の手順に沿ってVueのコンパイル、及びgolangサーバの立ち上げを行なってください。
画面
ログイン画面
ログインボタンを押すと、localhost:8082のgolangサーバにアクセスし、セッションを確立します。
ログイン後の画面
ログインをするとまずこの画面に遷移します。
未ログインの状態でこのページにアクセスしようとすると、ログイン画面にリダイレクトします。
ログアウトボタンを押すと、セッション情報を破棄します。
最後に
今回、Vueもgolangも実装するのは初めてで、configとしてまとめきれていないものやaxiosの非同期通信周りで粗い部分がまだまだあります。ベストプラクティスを教えていただけると嬉しいです。