今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

smartstore/Smartstore

ASP.NET Core 10ベースのモジュール型オープンソースeコマースプラットフォーム。AI機能とマルチストア対応を備えています。

Smartstore を導入すると、多店舗・多言語・多通貨の設定画面を触るだけで、商品バンドルやクーポン、報酬ポイントまで含めた複雑な販売ロジックを、コードを書かずに規則エンジンとCMSページビルダーで組み立てられる体験ができます。さらに内蔵の生成AIフレームワークでは OpenAI、Gemini、Claude など好みのサービスに切り替えながら、商品説明文や画像を自動生成してマーケティング文面を整える作業を今日から試せます。ASP.NET Core 10ベースの構成はDockerとMSBuildの設定がそのまま公開されているため、公式ドキュメントを見ながら実際に手元で起動し、モジュール式アーキテクチャの拡張性を自分の目で確かめることができます。

01 / 概要
何をするものか一文で言うと
ひとことでASP.NET Core 10ベースのモジュール型オープンソースeコマースプラットフォーム。AI機能とマルチストア対応を備えています。

Smartstoreは、ASP.NET Core 10とEntity Framework Core 10で構築されたオープンソースのオールインワンECプラットフォームです。マルチ店舗・多言語・多通貨に対応し、カタログ管理からCMS、決済、配送まで一式を備えています。モジュール型アーキテクチャにより機能追加やテーマ変更を柔軟に行える設計です。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

リポジトリは`src/Smartstore.Web`を中心に、モジュール(プラグイン)・テーマ・フレームワーク層が分離された構成です。ビルドはNuke(`src/Smartstore.Build`)が担い、`Build.cs`にClean・Restore・Compile・Deploy・SBOM生成などのターゲットが定義されています。実行時はASP.NET Core上でEF CoreがMySQL・PostgreSQL・SQL Serverいずれかに接続し、`docker-compose.yml`や`Dockerfile`でコンテナ化して起動できます。Dockerfileは`dotnet publish`でリリースビルドを作成し、`wkhtmltopdf`をインストールしてPDF出力にも対応します。テーマは`Flex`など`Themes`フォルダに配置され、`.dockerignore`の除外設定からモジュールやテーマがランタイムで動的に配置される構造だとわかります。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    `docker-compose.yml`を使い`docker compose up`を実行すると、Webコンテナとmysqlコンテナが起動し、初回はDBボリューム作成とマイグレーション待ちの時間がかかります。

  2. STEP 02

    初回アクセス時にはASP.NET Coreのセットアップウィザードが表示され、DB接続情報や店舗名などの初期設定を入力する画面に遭遇します。

  3. STEP 03

    ソースからビルドする場合は`build.cmd`または`build.sh`を叩くとNukeが復元とコンパイルを行い、`src/Smartstore.Web/Modules`ディレクトリが作られるのを確認できます。

  4. STEP 04

    管理画面(バックエンド)にログインすると、テーマ設定・モジュール管理・ルールビルダーなど多数の管理メニューが表示され、機能の多さに圧倒されます。

  5. STEP 05

    PDF出力機能を試すと、Dockerイメージ内に`wkhtmltopdf`が事前インストールされているため追加設定なしで注文書PDFが生成されます。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

手元には稼働するECストアのフロントエンドとバックエンド管理画面が残り、商品登録・注文処理・多言語設定などをすぐに試せる状態になります。Dockerでの起動ならイメージとコンテナがそのまま資産として残り、ソースビルドなら`build/artifacts`配下に公開用パッケージとSBOMファイルが生成されます。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

`docker-compose.yml`のDBパスワードが平文でファイルに直書きされているため、本番運用前には必ず変更が必要です。

02

初回起動時のDBマイグレーションやモジュール読み込みに時間がかかるため、すぐに画面が表示されるわけではありません。

03

Windows向けのボリュームパス(`D:/mount/...`)がサンプルに含まれているため、Linux/macOS環境ではパス修正が必須です。

04

ASP.NET Core 10・EF Core 10という比較的新しいランタイム前提のため、対応する.NET SDKのインストールが事前に必要です。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

自前でECサイトを構築したい中〜大規模事業者や、.NET系スタックに慣れた開発チームが、多言語・多店舗要件を持つ場合に向いています。ビルド定義(Nuke)、Dockerfile、docker-compose、開発者向けドキュメント(dev-docs配下の多数のガイド)が揃っており、実運用を想定した構造であることは読み取れます。ただし実際のDBパスワード管理やパス調整など環境依存の手直しは避けられないため、導入前にdocker-compose.ymlの中身を必ず確認することをお勧めします。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する