推しアイデア
みんなで同時に1つのスクリーンでお絵かきができる!
Go
Kubernetes
React
GCP
Terraform
みんなで同時に1つのスクリーンでお絵かきができる!
よくイベント会場にあるお絵描きエリアが、どこでも誰でも簡単に用意できたら面白そう
React,Golang,Protocol Buffers,OpenTelemetry,K8s,ArgoCD
1つのスクリーンにみんなでお絵描きできる!
色も太さも自由自在! 簡単な初期設定で遠くからも近くからもお絵描きできる! みんなで塗りあってナワバリバトルもできる!
・React ・Tailwind ・Window: deviceorientation イベント ・Storybook ・Visual Regression Test ・Tanstack Router ・Biome ・Lighthouse
・Go ・labstack/echo ・gorilla/websocket ・uptrace/bun ・google/wire ・otelecho ・otelsql
・Google Cloud ・Google Kubernetes Engine ・Artifact Registry ・Cloud SQL for MySQL ・Cloud SQL Auth Proxy ・Cloud Storage Service ・Cloud CDN ・Identity Platform ・Cloud Functions
・ArgoCD ・Atlantis ・OpenTelemetry ・GitHub Actions
/infra/terraform/
に変更があるPRを検知すると自動で terraform plan
が走る.
同一PRで atlantis apply
とコメントすると terraform apply
が走る.
結果はSlackに通知される.
また、ロックをとる仕組みがあり、同時にplan/applyしてしまう事故も防げる.
GitHub Actionsでビルドした生成物をArtifact RegistryにPushし、そのイメージURLを埋め込んだk8sマニフェストファイルを作成する. マニフェストファイルはArgoCDで監視しているのでそれをトリガーにデプロイが走る.
protobuf
でスキーマを記述し、フロント・バックともにそれをもとに開発を行った.
フロントのfetchやバックのルーティングはコード生成を行っている.
コード生成のためのplugin(protogen)はおおよそ自前で用意した.
CIで実行&カバレッジ計測を行っている. (バックエンドカバレッジ21.4%)