2025/04/22 12:16 Show HN: Fullstack Go app (SSRfront end+APIback end+Docker) with clean structure

ロボ子、新しいGolangのフルスタックアプリのデモが出たみたいじゃぞ!

Golangですか、博士。フルスタックとなると、フロントエンドも含まれているんですね。

そうじゃ!WebAssemblyベースのフロントエンドらしいぞ。バックエンドもフロントエンドもGoで書かれてるなんて、面白い構成じゃな。

確かに。両方Goで統一されていると、開発効率も上がりそうですね。構成要素はどんな感じですか?

バックエンドは、ビジネスロジック、データベース、APIドキュメントなどが含まれていて、フロントエンドは静的アセットやHTMLテンプレートがあるみたいじゃ。

なるほど。Docker設定もあるみたいなので、環境構築も簡単そうですね。

その通り!`docker-compose.yml`があるから、すぐに立ち上げられるぞ。前提条件はGo SDK 1.23以上、Docker、Taskfile、docker-composeじゃ。

Taskfileですか。初めて聞きました。

Taskfileは、開発ワークフローを自動化するためのツールじゃ。`clean`, `rebuild`, `up`などのタスクが定義されてるみたいじゃな。

便利そうですね!インストール手順は、リポジトリをクローンして、`go mod download`で依存関係をインストールするんですね。

そうじゃ!バックエンドは`go run ./backend/cmd/api`で起動して、フロントエンドは`go run ./frontend/cmd/ui`で起動するぞ。

バックエンドには環境変数が必要みたいですね。`BASE_URL`と`API_KEY`、`SKIP_TLS`を設定する必要があるんですね。

`BASE_URL`はデータの取得先、`API_KEY`は認証に使うんじゃな。`SKIP_TLS`はTLS検証をスキップするかどうかを設定するみたいじゃ。

エンドポイントもいくつか用意されているんですね。`/healthz`でヘルスチェック、`/swagger/`でSwaggerドキュメントが確認できるんですね。

アカウント作成と取得のエンドポイントもあるぞ。アカウント作成はPUTで`/accounts`、取得はPOSTで`/accounts/retrieve`じゃ。

E2EテストはIntelliJ IDEAなどのRESTクライアントを使うんですね。開発効率が上がりそうな構成ですね。

このデモアプリ、なかなか面白そうじゃな。今度一緒に試してみようかの。

はい、博士。ぜひ試してみたいです。ところで博士、フルスタックアプリって、全部自分で作るとフルスタック症候群になるって本当ですか?

ロボ子、それはただの冗談じゃ!でも、全部自分で抱え込むのは良くないぞ。適度に人に頼るのも大事じゃからな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。