ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
自分用のコード譜・練習アプリ
Translation pending
EducationTypeScript · PLpgSQLGitHub @isanactionOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
自分用のコード譜・練習アプリ(MVP)。U-FRET・楽器.me の代わりに、広告なしで譜面を見て練習するための Web アプリです。 データはまず端末内(IndexedDB)に保存し、ログインしているときだけサーバーと同期します。同期先が未設定でも端末内だけで動きます。Read the full README ↗
自分用のコード譜・練習アプリ(MVP)。U-FRET・楽器.me の代わりに、広告なしで譜面を見て練習するための Web アプリです。
/import で登録方法を案内)データはまず端末内(IndexedDB)に保存し、ログインしているときだけサーバーと同期します。同期先が未設定でも端末内だけで動きます。
supabase/migrations/ の SQL を古い順にすべて適用する(ステップ 1-3 で 20261020000000_practice.sql を追加)insert into public.allowed_emails values ('[email protected]');https://hikeru.app。Redirect URLs には https://hikeru.app/settings)を登録する.env.example を参考に NEXT_PUBLIC_SUPABASE_URL と NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY を設定する(Vercel では Environment Variables)SUPABASE_URL と SUPABASE_PUBLISHABLE_KEY を登録する(.github/workflows/keepalive.yml が3日おきにアクセスする)料金は月額 480円・年額 4,800円(税込)。無料プランでは区間ループ・速度変更を1日3曲まで使える(src/domain/plan.ts で判定)。
決済は Stripe。NEXT_PUBLIC_BILLING_ENABLED を 1 にするまでは、誰でもすべての機能を使え、料金ページは「準備中」と表示する。
始めるまでに必要なこと:
supabase/migrations/20261021000000_billing.sql を適用する(subscriptions テーブル)/terms /privacy /legal。事業者情報は src/lib/seller.ts)を確定するhttps://hikeru.app/api/billing/webhook を登録する。送るイベント: checkout.session.completed、customer.subscription.created updated deleted paused resumedNEXT_PUBLIC_ 以外はサーバーだけで使う秘密の値| 変数 | 値 |
|---|---|
STRIPE_SECRET_KEY | Stripe のシークレットキー(sk_live_…。試すときは sk_test_…) |
STRIPE_WEBHOOK_SECRET | Webhook の署名シークレット(whsec_…) |
STRIPE_PRICE_MONTH / STRIPE_PRICE_YEAR | 価格の ID(price_…) |
SUPABASE_SERVICE_ROLE_KEY | Supabase の secret key(購読の記録を書き込むため) |
NEXT_PUBLIC_BILLING_ENABLED | 1(申し込みを受け付ける) |
運営者が手動で有料プランを付けるときは、subscriptions に status = 'active' の行を入れる(Stripe の ID は空のまま)。
npm install
npm run dev # http://localhost:3000
npm test # ロジックのテスト(Vitest)
npm run test:e2e # 画面のテスト(Playwright。先に npm run build)
npm run lint
npm run typecheck
src/domain/ は画面や DB に依存しない純粋なロジックで、テストの中心です。
取り込みは「自分がブラウザで開いている1曲を、自分の操作で取り込む」形に限っています。サーバーからの自動取得・一括取得はしません(要求定義 2.2)。
取り込み元ページの保存ファイルは歌詞を含むため、fixtures-local/(コミット対象外)に置いてください。