Filesmith は、開発、テスト、バリデーションなどで必要となるダミーファイル(テストファイル)を即座に生成し、ダウンロードできるモダンな Web アプリケーションです。さまざまなファイルフォーマットとカスタムパラメータに対応しており、開発者の作業効率を劇的に向上させます。
- 豊富なファイル形式に対応: テキスト、データ、画像、動画、アーカイブなど、様々なダミーファイルを数クリックで作成できます。
- カスタムパラメータ指定: ファイルサイズや行数、解像度、ページ数など、テストシナリオに合わせた詳細な設定が可能です。
- クライアントサイド生成: Canvas や Blob API を活用し、一部の形式はサーバー負荷をかけずクライアント側で高速に生成されます。
- アカウント管理 & 履歴: サインインすることで、生成したファイルの履歴管理や、よく使う設定を「プリセット」として保存できます。
- プラン管理(Stripe 連携): Pro プランにアップグレードすることで、一日の生成制限を解除し、大容量のファイル生成が可能になります。
| カテゴリ | フォーマット | 主な設定パラメータ | 生成の仕組み |
|---|---|---|---|
| テキスト | txt |
ファイルサイズ (KB, MB等) | 指定サイズ分のダミーテキストの繰り返し |
| データ | csv / json |
行数・列数、レコード数 | テスト用のランダム/連番データの構造化出力 |
| 画像 | png / jpeg / gif |
幅、高さ、背景色、グリッド/ソリッドパターン | Canvas API を用いた動的な画像描画 |
| シミュレーション | pdf / zip / mp4 |
ページ数、ファイル数、再生時間、解像度 | ダミーヘッダーとコンテンツを模した構造化データの生成 |
- フロントエンド: React 18, Vite, TypeScript
- スタイリング: Tailwind CSS, PostCSS, Lucide React (アイコン)
- バックエンド / データベース: Supabase (認証、データベース、プロフィール管理)
- 決済プラットフォーム: Stripe (サブスクリプション・Proプラン決済)
プロジェクトをローカルで実行するための手順です。
プロジェクトのルートディレクトリで以下のコマンドを実行します。
npm install.env.example をコピーして .env ファイルを作成し、必要なAPIキーを設定します。
cp .env.example .env.env に以下の項目を入力してください:
# Supabase Configuration
VITE_SUPABASE_URL=あなたのSupabaseのURL
VITE_SUPABASE_ANON_KEY=あなたのSupabaseのAnonキー
# Stripe Configuration
VITE_STRIPE_PUBLISHABLE_KEY=あなたのStripeパブリッシャブルキー開発用ローカルサーバーを起動します。デフォルトでは http://localhost:5173 で起動します。
npm run dev本番環境用のビルドを作成する場合は以下のコマンドを実行します。
npm run buildビルドされたファイルは dist ディレクトリに出力されます。
Filesmith/
├── .bolt/ # 開発環境用設定
├── supabase/ # Supabase の設定ファイル・マイグレーション等
├── src/
│ ├── components/ # UIコンポーネント (Generator, History, Modals等)
│ ├── hooks/ # カスタムフック (Auth, Subscription, Presets)
│ ├── lib/ # Supabaseなどの初期化ロジック
│ ├── utils/ # ユーティリティ関数
│ ├── App.tsx # アプリケーションのメインエントリー
│ └── main.tsx # レンダリングエントリー
├── package.json
└── vite.config.ts
このプロジェクトは MIT ライセンスのもとでオープンソースとして公開されています。詳細については LICENSE ファイルを参照してください。