Goで作成した画像掲示板
Live Demo
https://frontpage.golang-imageboard-8821.tk
GKEの料金が結構高いので、バックエンドは停止してます。
バックエンドが起動している状態を見たい方は、メールにてご連絡ください
[email protected]
Go 言語
- WebFrameWork : gin-gonic/gin
- ORM : jinzhu/gorm
TypeScript
create-react-app
のボイラープレートから作成
- React
- Axios
- Material-UI
IDaaS の Auth0 を使用
https://auth0.com/
サーバーサイドにセッション情報を保持せず、
クライアント側に jwt を持たせることでユーザー認証する。
これにより、web サーバーをステートレス化し、スケーラビリティが向上する。
Google Cloud Platform を使用
- Google Cloud Storage
- Google Kubernetes Engine (GKE)
- Cloud DNS
GKE クラスタのノードをプロビジョニングするのにTerraform
コンテナの管理にKubernetes
を使用
バックエンドサーバーに Docker コンテナを使用
マルチステージビルドで、実行ファイルを alpine linux を使用して image 化することで
省サイズの実行環境(約 12MB)
Github Actionsによるビルドとデプロイ