9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Next.js でプロダクトを早く立ち上げたい人へ — TOMOSIA Template KIT の紹介

9
Posted at

Screenshot 2026-02-27 at 11.46.53.png

はじめに

新規プロジェクトを始めるたびに、認証(ログイン・会員登録・ソーシャルログイン)や決済(Stripe や GMO などの連携)、多言語対応(i18n)を一から実装するのは時間がかかりますし、毎回同じようなコードを書くことになりがちです。一方で、これらは多くの Web アプリに共通して必要な要素です。

本記事では、TOMOSIA Vietnam が提供する TOMOSIA Template KIT を紹介します。このテンプレートは、認証・決済・多言語・本人確認・ダッシュボードまわりが最初から組み込まれた Next.js のベースであり、プロジェクトの土台を短時間で用意したい方や、PoC を素早く出したいチームに向いています。記事では、概要・技術スタック・主な機能・アーキテクチャ・触り方・まとめの順で説明します。

目次

  1. TOMOSIA Template KIT とは
  2. 技術スタック
  3. 主な機能の紹介(Features 一覧)
  4. アーキテクチャのポイント
  5. 触ってみる・ローカルで動かす
  6. まとめ

1. TOMOSIA Template KIT とは

TOMOSIA Template KIT は、Next.js(App Router)をベースにした フルスタック向けの production-ready テンプレート です。

主な特徴は次のとおりです。

  • 認証 … メール・パスワード(Credentials)は Firebase Auth と連携。さらに Google / Facebook / Instagram / LINE の OAuth に対応しており、ログイン・登録・パスワードリセット・OTP 確認の画面が用意されています。
  • 決済 … Stripe と GMO のチェックアウト・Webhook 連携が入っており、デモ用の画面から動作を確認できます。
  • 多言語 … next-intl により英語・日本語に対応。ルーティングや UI の切り替えが最初から組み込まれています。
  • 本人確認 … 書類(ID)のアップロード、顔キャプチャ、AI(Mistral Pixtral)による OCR まで一連のフローが含まれており、KYC 的な機能を試したい場合に参考になります。
  • ダッシュボード … プロフィール編集、Kanban、ファイル管理、通知、ユーザー管理、請求まわりなど、管理画面でよく使うモジュールのサンプルが含まれています。

「認証や決済を毎回ゼロから書くのは負担が大きい」「まずは動く土台を用意してから要件を詰めたい」という方や、新規サービスや PoC を短期間で立ち上げたいチームに適しています。

2. 技術スタック

使用している主な技術は以下のとおりです。

分野 技術
フレームワーク Next.js 16(App Router), React 19, TypeScript
認証 NextAuth.js, Firebase Auth
UI ShadcnUI, Tailwind CSS, Radix UI
フォーム・バリデーション React Hook Form, Zod
決済 Stripe, GMO(gmopg)
AI Mistral(Pixtral)— 本人確認用の書類 OCR
その他 TanStack Query, Zustand, next-intl

フォームは React Hook Form と Zod でバリデーションを統一し、認証は NextAuth.js でセッション管理、実際のサインインは Firebase Auth および各 OAuth プロバイダーに任せる構成です。UI は ShadcnUI を中心にしているため、見た目やアクセシビリティを揃えつつ、必要に応じてコンポーネントを差し替えやすくなっています。

3. 主な機能の紹介(Features 一覧)

テンプレートに含まれる Features を一覧にしました。src/features/ 配下のモジュールに対応しています。

Feature 内容
Auth ログイン・会員登録・パスワード忘れ・パスワードリセット・OTP 確認。Credentials(Firebase)+ Google / Facebook / Instagram / LINE OAuth。React Hook Form + Zod でバリデーション。
I18n(next-intl) 英語・日本語。ルーティング・UI の切り替え、ロケール対応が最初から組み込み。
ダッシュボードレイアウト サイドバー、ブレッドクラム、テーマ切替(ライト/ダーク)、通知アイコン、ユーザーメニュー。保護されたページで共通利用。
Profile プロフィール編集、アバター変更、パスワード変更、セキュリティ設定、権限・ロールのアップグレード申請。
Payment(Stripe) チェックアウトセッション作成、Webhook 受信。デモ画面付き。
Payment(GMO) チェックアウト、exec-tran 連携。デモ画面・チェックアウトページ付き。
Identity-verification 書類(ID)アップロード、顔キャプチャ、Mistral(Pixtral)による OCR、本人確認フロー・API。
Kanban ボード・カラム・カード、タスク詳細(TipTap リッチテキスト)、添付、担当者、フィルター。タスク/プロジェクト管理のベースに。
File-manage ストレージ統計ダッシュボード、ファイル一覧・カテゴリ、アップロード。Firebase/S3 等への接続例として拡張可能。
Hotel ホテル向けダッシュボード、予約画面のデモ。ドメイン別の応用例。
User-management ユーザー一覧テーブル、ダッシュボード(日本地図チャート等)、追加・編集・削除モーダル。
Notifications 通知一覧、通知アイテム、通知ボタン、詳細モーダル、通知設定。
Billing 請求まわりの概要コンポーネント。
Docs Introduction、Installation、Design Pattern、各 OAuth(Google / Facebook / Instagram / LINE)の設定手順、Test Case。サイドバー・検索付き。
Upload ファイルアップロード(react-dropzone)。resumable 用に tus-js-client も利用可能。file-manage・Kanban 添付・本人確認の書類アップロードで使用。
画像処理(image) 画像圧縮(browser-image-compression)、クロップ(cropperjs / react-cropper)、BlurHash によるプレースホルダー。本人確認・アバター等で利用。
Performance Next.js の最適化、セッションまわりの軽いチェック、Vercel React ベストプラクティスを意識した構成。バンドル・データ取得の効率化。
Accessibility aria-label・キーボード操作を考慮。ShadcnUI(Radix UI)ベースでアクセシビリティに配慮したコンポーネントを利用。
Responsvie モバイルからタブレットまでのレスポンシブ対応済み。

必要に応じて、上記の feature だけをコピーして他プロジェクトで利用したり、不要なものを外して土台をシンプルにしたりできます。

4. アーキテクチャのポイント

テンプレートは 5 層のディレクトリ構成 を採用しています。

  • App(src/app/ … ルーティングとページの配置のみ。画面ごとのロジックは Features に寄せます。
  • Features(src/features/ … 上記の認証・決済・プロフィール・Kanban・ファイル管理・通知・本人確認など、機能単位のモジュール。各 feature は components / actions / hooks / types / validations(必要に応じて libmock)で整理されています。
  • Shared(src/shared/ … 複数の feature から使う共通コンポーネントやユーティリティ。
  • Core(src/core/ … 認証設定(NextAuth のオプション)、Firebase の初期化、定数、プロバイダーなど、アプリ全体の基盤となるコード。
  • UI(src/components/ui/ … ShadcnUI 由来のボタン・フォーム・ダイアログなどのプリミティブ。

このように役割を分けることで、特定の機能(例:認証だけ、決済だけ)を別プロジェクトにコピーしたり、不要なモジュールを外したりしやすくなっています。新規プロジェクトでは、必要な feature だけを選んで土台に載せていく使い方が想定されています。

5. 触ってみる・ローカルで動かす

デモ・ドキュメント

  • アプリ・ドキュメントhttps://tomosia-template-kit.vercel.app で公開されています。トップからログインや各機能に遷移でき、/doc からドキュメント(Introduction, Installation, Design Pattern, 各 OAuth の手順など)を読めます。

ローカルで動かす手順

  1. リポジトリをクローンする
    git clone https://github.com/HieuNT44/tomosia-template-kit.git
  2. プロジェクト直下で .env.example をコピーし、.env.local として保存する。必要に応じて Firebase / OAuth / Stripe / GMO / Mistral などのキーや URL を編集する。
  3. npm install で依存関係をインストールする。
  4. npm run dev で開発サーバーを起動する。

認証(とくに OAuth)や決済を実際に試す場合は、各サービスのダッシュボードでリダイレクト URL や Webhook URL を設定する必要があります。具体的な手順は、上記デモサイトの /doc 内の「Installation」や各 OAuth のページに記載されているので、そちらを参照してください。環境変数の例もドキュメントで確認できます。

6. まとめ

TOMOSIA Template KIT は、認証・決済・多言語・本人確認・ダッシュボードまわりが あらかじめ組み込まれた Next.js のテンプレートです。5 層のアーキテクチャと機能単位のモジュール構成により、必要な部分だけを抜き出して他プロジェクトで再利用したり、不要な機能を外してシンプルな土台にしたりしやすくなっています。その結果、プロジェクトの土台づくりを 1〜2 週間程度 に短縮しやすく、ベストプラクティスもある程度そろった状態から開発を始められます。

Next.js で新規 Web アプリを作りたい方、認証・決済・多言語をまとめて導入したい方、あるいは PoC やプロトタイプを早く出したいチームには、とくに試す価値があると思います。

リンク

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?