From da404ed1af586feacf27a56b30cbd87e76b88d7b Mon Sep 17 00:00:00 2001 From: tosuke <13393900+tosuke@users.noreply.github.com> Date: Wed, 18 Dec 2024 14:00:33 +0900 Subject: [PATCH 1/4] chore: remove unused tasks --- Taskfile.yaml | 99 +++++---------------------------------------------- 1 file changed, 9 insertions(+), 90 deletions(-) diff --git a/Taskfile.yaml b/Taskfile.yaml index a64d8a57..3d7a5a68 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -1,101 +1,20 @@ version: 3 - -# タスク定義の順番 -# -# 1. -# desc -# -# 2. -# internal -# dir -# silent -# -# 3. -# vars -# status / sources / generates / methods / preconditions -# deps -# -# 4. -# cmds - tasks: - check-binary: - desc: 指定されたバイナリがインストールされているか確認 - internal: true - silent: true - cmds: - - | - if ! (type {{.BINARY}} >/dev/null 2>&1); then - echo "下記公式ドキュメントを参考に、{{.BINARY}}をインストールした後、もう一度実行してください" - echo {{.INSTALL_DOC}} - exit 1 - fi - - init: - desc: ワークスペースを初期化 - cmds: - - cp .vscode/settings-sample.json .vscode/settings.json - - cp backend/.vscode/settings-sample.json backend/.vscode/settings.json - - init-buf: - desc: bufの初期化 - internal: true - deps: - - task: check-binary - vars: - BINARY: buf - INSTALL_DOC: https://buf.build/docs/installation - - init-oapi: - desc: OpenAPI Generatorの初期化 - internal: true - deps: - - task: check-binary - vars: - BINARY: go - INSTALL_DOC: https://go.dev/doc/install - cmds: - - go install github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@v2.4.1 - generate: desc: 自動生成ファイルをすべて生成 cmds: - - rm -rf backend/internal/proto - - task: generate-buf - - task: generate-oapi + - task: generate-backend + - task: generate-frontend - generate-buf: - desc: Protobuf & Connectの自動生成ファイルを生成 + generate-backend: internal: true - dir: proto - deps: - - init-buf + dir: backend cmds: - - buf generate --template buf.gen-backend.yaml + - go generate -x ./... - generate-oapi: - desc: OpenAPIの自動生成ファイルを生成 + generate-frontend: internal: true - dir: proto - deps: - - init-oapi - cmds: - - for: ["admin", "contestant"] - cmd: |- - mkdir -p ../backend/internal/proto/{{ .ITEM }}/v1/v1oapi - oapi-codegen -package v1oapi -generate chi-server {{ .ITEM }}/v1/file.yaml \ - > ../backend/internal/proto/{{ .ITEM }}/v1/v1oapi/file-server.oapi.go - oapi-codegen -package v1oapi -generate client {{ .ITEM }}/v1/file.yaml \ - > ../backend/internal/proto/{{ .ITEM }}/v1/v1oapi/file-client.oapi.go - - up: - desc: ローカル開発環境を立ち上げる - dir: dev/docker - cmds: - - docker compose up --build -d - - down: - desc: ローカル開発環境を終了する - dir: dev/docker + dir: frontend cmds: - - docker compose down + - pnpm install + - pnpm run --recursive --parallel --aggregate-output generate From 09d1bfc703884b91a7eccec8669f4a76f87b20db Mon Sep 17 00:00:00 2001 From: tosuke <13393900+tosuke@users.noreply.github.com> Date: Wed, 18 Dec 2024 14:27:46 +0900 Subject: [PATCH 2/4] chore: refactor README.md --- README.md | 7 +------ init.sh | 8 -------- 2 files changed, 1 insertion(+), 14 deletions(-) delete mode 100644 init.sh diff --git a/README.md b/README.md index 68b2c27b..06a548b8 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,7 @@ ictsc-outlands/ │ ├── charts/ (K8デプロイ用Helmチャート) │ -└── Makefile (全体共通のタスク定義) +└── Taskfile (全体共通のタスク定義) ``` 各フォルダ以下に関しては、それぞれのフォルダにある`README.md`を参照して下さい。 - -## 開発の始め方 - -`sh init.sh`をすると、`task`のインストールを要求されるのでインストールする。 -その後は、`task`コマンドで各種操作を行う。 diff --git a/init.sh b/init.sh deleted file mode 100644 index 08414ca6..00000000 --- a/init.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -if ! (type task >/dev/null 2>&1); then - echo "下記公式ドキュメントを参考に、taskをインストールした後、もう一度init.shを実行してください" - echo "https://taskfile.dev/installation/" -fi - -task init From f8d786ed9fbe6f5b86b4f04454d0a86fd0de93ab Mon Sep 17 00:00:00 2001 From: tosuke <13393900+tosuke@users.noreply.github.com> Date: Wed, 18 Dec 2024 14:28:05 +0900 Subject: [PATCH 3/4] chore: remove old dev tools --- dev/README.md | 3 --- dev/docker/compose.yaml | 51 ----------------------------------------- dev/docker/init.sql | 1 - 3 files changed, 55 deletions(-) delete mode 100644 dev/README.md delete mode 100644 dev/docker/compose.yaml delete mode 100644 dev/docker/init.sql diff --git a/dev/README.md b/dev/README.md deleted file mode 100644 index 774d49c0..00000000 --- a/dev/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# 開発用ツール・設定 - -- [cspell](./cspell/README.md) diff --git a/dev/docker/compose.yaml b/dev/docker/compose.yaml deleted file mode 100644 index 8766562a..00000000 --- a/dev/docker/compose.yaml +++ /dev/null @@ -1,51 +0,0 @@ -services: - anita: - container_name: ictsc-outlands_anita - build: - context: ../../backend - target: anita - image: anita - restart: always - environment: - DEV: "true" - entrypoint: ./anita run - expose: - - 8080 - depends_on: - mysql: - condition: service_healthy - - mysql: - container_name: ictsc-outlands_mysql - image: mysql:9.1.0 - restart: always - environment: - MYSQL_ROOT_PASSWORD: password - expose: - - 3306 - volumes: - - mysql:/var/lib/mysql - - ./init.sql:/docker-entrypoint-initdb.d/init.sql:ro - healthcheck: - test: mysql --user=root --password=password --execute "SHOW DATABASES;" - interval: 1s - timeout: 10s - retries: 60 - - phpmyadmin: - container_name: ictsc-outlands_phpmyadmin - image: phpmyadmin/phpmyadmin:5.2.1 - restart: always - environment: - - PMA_ARBITRARY=1 - - PMA_HOST=mysql - - PMA_USER=root - - PMA_PASSWORD=password - ports: - - 2420:80 - depends_on: - mysql: - condition: service_healthy - -volumes: - mysql: diff --git a/dev/docker/init.sql b/dev/docker/init.sql deleted file mode 100644 index 4f2cfbfe..00000000 --- a/dev/docker/init.sql +++ /dev/null @@ -1 +0,0 @@ -CREATE DATABASE IF NOT EXISTS `anita`; From 419d2619df79208d05876be7ba8fb721609fa0b9 Mon Sep 17 00:00:00 2001 From: tosuke <13393900+tosuke@users.noreply.github.com> Date: Wed, 18 Dec 2024 14:28:16 +0900 Subject: [PATCH 4/4] feat: add README to proto --- proto/README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 proto/README.md diff --git a/proto/README.md b/proto/README.md new file mode 100644 index 00000000..763e9372 --- /dev/null +++ b/proto/README.md @@ -0,0 +1,24 @@ +# Protobuf + +フロントエンドとバックエンド間で共有される API 定義 + +## 構成 + +- `admin/v1`: 運営用 API +- `contestant/v1`: 競技者用 API + +## 開発方法 + +[Buf](https://buf.build/) を使っています。[Buf CLI のインストール手順](https://buf.build/docs/installation/)に従ってインストールしてください。 + +### フォーマット + +```console +$ buf format -w +``` + +### リント + +```console +$ buf lint +```