Webサイトからプレーンテキストを抽出するMVPアプリケーション
Plain Text Scraperは、入力されたURLからプレーンテキストのみを抽出し、UI上に表示・コピーできる最小プロダクトです。SNSポスト用のインプットデータ作成を目的としています。
- 🔐 ユーザー認証(Supabase Auth)
- 🌐 URL入力によるテキスト抽出
- ⚡ リアルタイムジョブ進行状況表示
- 📋 ワンクリックコピー機能
- 🚦 レート制限(1分間5回)
- 🤖 robots.txt準拠
- フロントエンド: Next.js 14 (App Router) + TypeScript + Tailwind CSS
- バックエンド: Supabase (Auth + Database + Edge Functions)
- データベース: PostgreSQL with Row Level Security
- 抽出エンジン: Supabase Edge Functions (Deno runtime)
- デプロイ: Vercel + Supabase
# 依存関係インストール
npm install
# 環境変数設定
cp .env.local.example .env.local
# .env.localを編集してSupabaseの情報を設定
# Supabaseにログイン
supabase login
# プロジェクトにリンク
supabase link --project-ref your-project-ref
# データベーススキーマ適用
supabase db push
# Edge Function デプロイ
supabase functions deploy scrape_page
npm run dev
http://localhost:3000 でアプリケーションにアクセス
├── app/ # Next.js App Router
│ ├── api/ # API Routes
│ ├── auth/ # 認証ページ
│ ├── dashboard/ # メインアプリ
│ └── page.tsx # ランディング
├── docs/ # プロジェクトドキュメント
│ ├── setup/ # セットアップガイド
│ ├── architecture/ # アーキテクチャ
│ ├── pricing/ # 価格体系
│ └── api/ # API仕様
├── lib/ # ライブラリ
├── types/ # 型定義
├── supabase/ # Supabase設定
│ ├── functions/ # Edge Functions
│ └── migrations/ # DBマイグレーション
└── utils/ # ユーティリティ
- ニュースサイトのスクレイピング → プレーンテキスト取得
- ChatGPTへの入力準備 → 要約生成
- SNS投稿 → Twitterでのシェア
- Row Level Security (RLS) 有効
- 認証必須のAPI
- レート制限実装
- robots.txt準拠
- CORS対応
- 開発: Freeプラン(月50万回まで無料)
- 本番: Proプラン(月200万回 + $25)
- 超過: $2 per 100万回
詳細は 価格体系ドキュメント を参照
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Open Pull Request
This project is licensed under the MIT License.
問題やご質問は Issues からお気軽にどうぞ。
Generated with ❤️ for efficient content creation