Skip to content

TechCafeFreedom/Wantum-server

Repository files navigation

Wantum-server

Wantum(Androidアプリ)サーバサイド

Documentation

ブランチルール

  • デフォルトブランチ=develop
  • 新規ブランチ作成時
    • feat/[issue番号]/[タスクの内容(迷えばissueのタイトル)]
  • develop=開発環境
  • master=プロダクション環境
  • masterdevelopへのforced pushは🆖
  • Squash and mergeのみ許可。コミット履歴をきれいにまとめる。

初回起動(セットアップ)

  1. .env_exampleをコピーして、.envファイルを作成
  2. 自分の環境(MySQL)に合わせて環境変数を書き換える
  3. メンバーからwantum-firebase-adminsdk-cz9e4-4c4789f0f4.json(Firebaseの認証情報)をもらい、プロジェクトのルートディレクトリに配置する
  4. db/mysql/ddl/ddl.sqlをローカルのMySQLにてRUNする
  5. make runコマンドでサーバが立ち上がる

Makeコマンド

help                           使い方
wiregen                        wire_gen.goの生成
test                           testの実行
lint                           lintの実行
fmt                            fmtの実行
fmt-lint                       fmtとlintの実行
run                            APIをビルドせずに立ち上げるコマンド
build                          APIをビルドして立ち上げるコマンド

開発環境

  • docker-compose 3.5
  • containers
    • golang 1.12
    • mysql 5.7

ホットリロード対応。oxequa/realizeを利用しています。

作業まわり

起動 & 停止

  • make dev-upにて、全コンテナを構築&起動
  • make dev-stopにて、全コンテナの停止
  • make dev-downにて、imageを含めたコンテナの停止&削除

初期化

  • 環境の初期化
    1. make dev-downにて、全コンテナを停止&削除
    2. make dev-upにて、起動
  • DBの初期化
    1. make dev-db-initにて、データベースの初期化

ログまわり

監視

  • make dev-api-watchにて、APIのログを監視
  • make dev-db-watchにて、DBのログを監視

出力。パイプなどで繋いで処理可。

  • make dev-api-logにて、APIのログを全取得
  • make dev-db-logにて、DBのログを全取得

Makeコマンド

接頭辞にdev-がついています。

dev-up        環境をバックグラウンドで構築&起動
dev-stop      環境の停止
dev-down      環境の停止&削除
dev-api-watch apiのログを監視
dev-api-log   apiのログを吐く
dev-db-watch  DBのログを監視
dev-db-log    DBのログを吐く
dev-db-init   DBの初期化する。DBをDROPしてから再構築する
dev-db-dump   DBをダンプする。出力先は /db/mysql/dump。ディレクトリは自動で作成されます。