Skip to content

SIT-DigiCre/digicore_v3_backend

Repository files navigation

digicore v3 backend

環境構築

  1. Windowsにて開発をする方は、Ubuntuで開発を行うためにWSLおよびUbuntuの環境構築をする 
  2. Docker Desktopをダウンロード・インストールする
  3. VSCodeの拡張機能のところからms-vscode-remote.remote-wslと検索してVSCodeにWSLの拡張機能をインストールする
  4. Ubuntuに開発用のディレクトリを作成する
  5. https://github.com/SIT-DigiCre/digicore_v3_frontend.githttps://github.com/SIT-DigiCre/digicore_v3_backend.gitクローンする
  6. クローンしたディレクトリをVSCodeで編集していく
  7. .env.sample をコピーして .env を作成する
  8. .envに環境変数を入力する ※環境変数はsysdevの既存メンバーから教えてもらってください
  9. Discord developersで App を作成し、Oauth2 の Redirects に${FRONTEND_ROOT_URL}/user/discord/callbackを指定する
  10. 上記で作成した App の Client information から Client ID と Client Secret を取得し、.env に追記する。
  11. Google Cloud Platformで App を作成し、OAuth クライアント ID をアプリケーションの種類をウェブアプリケーションにして作成し、承認済みのリダイレクト URI に${FRONTEND_ROOT_URL}/signup/callback${FRONTEND_ROOT_URL}/login/callbackを指定する。
  12. 上記で作成した App の client_secret_*.json をダウンロードし、config/gcp_secret.json に名前を書き換えこのファイルが有る階層に配置する。
  13. コンテナのビルドを行う
  14. 実行を行う
  15. DB マイグレーションを行う

WSLおよびUbuntuの環境構築

wsl --install
wsl --install -d Ubuntu-24.04.4 

ディレクトリを作成

cd    ##ホームディレクトリに戻る
mkdir digicre
cd digicre #digicreフォルダに入る

クローン

git clone https://github.com/SIT-DigiCre/digicore_v3_frontend.git
git clone https://github.com/SIT-DigiCre/digicore_v3_backend.git

VSCodeで編集

cd digicore_v3_backend
code . #VSCodeを開く

コンテナのビルド

make build
# ubuntuの場合はsudo権限が必要

実行

make up-d # デタッチモードで起動

DB マイグレーション

make migrate-dry # dryrun
make migrate

開発手順

テストデータの投入

make insert_test

api パッケージの更新

Warning

./document/_.gen.yml./pkg/api/_.gen.go は自動生成であるため直接編集しない

make generate_api

開発時の JWT 検証の無効化

.env の AUTH を disable に書き換えてください。

リクエストのテスト

認証ヘッダー設定

認証が無効化されていても、JWT トークンの subject から user_id を取得するため、有効な JWT 形式のトークンが必要です。以下のようなダミートークンを生成:

Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJleHAiOjk5OTk5OTk5OTl9.dummy

トークンの生成は https://www.jwt.io/ja から行ってください。

ヘッダーの例

{
  "alg": "RS256",
  "typ": "JWT"
}

ペイロードの例

{
  "sub": "55555555-5555-5555-5555-555555555555"
}

About

デジコアv3のバックエンド

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages