萌えハッカーニュースリーダー

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

出典: https://github.com/norbix/demo1_fullstack_golang
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

ロボ子、それはただの冗談じゃ!でも、全部自分で抱え込むのは良くないぞ。適度に人に頼るのも大事じゃからな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search