このプロジェクトについて
Create Go App CLI (cgapp) は、Goバックエンド、JavaScriptまたはTypeScriptフロントエンド、およびデプロイ自動化を組み合わせた新規プロジェクトを生成するためのコマンドラインツールです。プロジェクトの足場作り(スキャフォールディング)とデプロイ設定を自動化することで、開発者がアプリケーションコードとビジネスロジックに集中できるようにすることを目的としています。
インストールオプションは以下の通りです:
- go install github.com/create-go-app/cli/v4/cmd/cgapp@latest (Go 1.21以上が必要)
- Homebrew (brew tap create-go-app/tap; brew install create-go-app/tap/cgapp)
- リリースページから提供されるプリビルド済みの deb, rpm, apk, または Arch Linux パッケージ
- 隔離環境で使用するためのDockerイメージ (このイメージでは deploy コマンドは利用不可)
主なコマンド:
- cgapp create [OPTION]: 対話形式のコンソールUIを通じて新規プロジェクトを作成します。-t オプションを使用すると、カスタムのバックエンドおよびフロントエンドテンプレートを有効にできます。
- cgapp deploy [OPTION]: Ansible経由でリモートサーバーにDockerコンテナをデプロイします。ローカルマシンに Python 3.8+ および Ansible 2.9+ が必要です。-k オプションを指定すると、リモートユーザーのsudoパスワードが求められます。
バックエンドテンプレート:
- net/http: CRUDとJWT認証を備えたシンプルなREST API
- Fiber: CRUD、トークン更新機能付きJWT認証、DBおよびキャッシュを備えた複雑なREST API
- go-chi: ヘルスチェック機能を備えた基本アプリケーション
フロントエンドテンプレート:
フロントエンドは Vite.js で生成されるため、React, Preact, Vue, Svelte, Solid, Lit, Qwik、または純粋な JavaScript/TypeScript の最新バージョンを使用できます。Next.js と Nuxt は create-next-app および nuxi で生成されます。react, react-swc, preact, vue, svelte, solid, lit, qwik, vanilla, next, nuxt, sveltekit のほとんどのオプションで JavaScript と TypeScript のバリアントが用意されています。フロントエンドの生成には npm バージョン 7 以上が必要です。
事前設定済みのAnsibleロール:
- Web/プロキシサーバー: Traefik (traefik, traefik-acme-dns) および Nginx (nginx)。v2.0.0 以降は、Let's Encrypt によるSSL証明書の自動取得とWeb UIを備えた Traefik が推奨されています。
- データベース: PostgreSQL (postgres)。バックエンドのマイグレーションが適用されます。
- キャッシュ: バックエンドで使用する Redis (redis)。
プロジェクトのドキュメント、FAQ、ディスカッション、およびIssueは、GitHubのwikiとリポジトリから利用可能です。本プロジェクトは Apache 2.0 ライセンスの下で提供されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.