MicroAI Paygate
An x402-style payment gateway for AI requests. Sign EIP-712, get a signed receipt, verify the signature client-side.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Plateforme Core Banking pour coopératives d'épargne et de crédit haïtiennes. Next.js 16 · React 19 · Supabase · Tailwind 4.
npm install
cp .env.example .env.local # puis renseigner les valeurs Supabase
npm run dev
Ouvrir http://localhost:3000.
| Script | Description |
|---|---|
npm run dev | Serveur de développement (Turbopack) |
npm run build | Build de production |
npm start | Serveur de production (après build) |
npm run lint | ESLint |
npm run typecheck | Vérification TypeScript stricte (tsc --noEmit) |
npm test | Tests unitaires Vitest |
npm run test:watch | Vitest en mode watch |
npm run e2e | Tests end-to-end Playwright |
npm run db:types | Regénère src/types/database.ts depuis Supabase |
npm run db:pull | Synchronise les migrations depuis la base distante |
npm run db:push | Applique les migrations locales vers la base distante |
npm run db:reset | Réinitialise la base locale + applique migrations + seed |
npm run db:diff | Génère une migration depuis un diff (npm run db:diff -- nom) |
Le schéma de production est versionné dans supabase/migrations/.
export SUPABASE_ACCESS_TOKEN=sbp_xxxxxxxxxxxxxxxxxxx
npx supabase login --token $SUPABASE_ACCESS_TOKEN
npx supabase link --project-ref ebioqgjyzrhjxxlugzcz
npm run db:pull # crée supabase/migrations/<timestamp>_remote_schema.sql
npm run db:types # regénère src/types/database.ts
git add supabase/ src/types/database.ts
git commit -m "chore(db): baseline schema + types from remote"
npm run db:diff -- add_loans_penalty_column, la relire, commiter.npm run db:push (ou via GitHub Actions + service role key).npm run db:pull puis npm run db:types.Logique métier pure testée : intérêts, échéanciers, pénalités, change, clôture caisse.
npm test # run unique
npm run test:watch # watch
npm run test:coverage # + rapport de couverture HTML dans /coverage
Emplacement : src/**/*.{test,spec}.{ts,tsx}.
npm run e2e:install # première fois seulement
npm run e2e # run headless
npm run e2e:ui # mode interactif
Emplacement : e2e/*.spec.ts. Les parcours qui nécessitent une authentification
réelle sont marqués test.skip ; les activer après avoir mis en place un
utilisateur de test + SUPABASE_SERVICE_ROLE_KEY en env.
⚠️ Sur Next.js 16, la convention middleware a été renommée en
proxy. Le fichier src/proxy.ts gère l'authentification edge
(redirections /login ↔ /tableau-de-bord). Ne pas le renommer.
src/
├── app/ # App Router (marketing, auth, dashboard)
├── components/ # UI (brand, dashboard, marketing, ui)
├── hooks/ # React hooks
├── lib/
│ ├── finance/ # Logique métier pure (intérêts, change, caisse)
│ ├── supabase/ # Clients Supabase (client.ts, server.ts)
│ └── …
├── types/
│ └── database.ts # Types générés par `npm run db:types`
└── proxy.ts # Auth edge (Next.js 16 convention)
e2e/ # Tests Playwright
supabase/ # Migrations + seed + config local
.github/workflows/ # CI (lint · typecheck · unit · build · e2e)
Vercel : le push sur main déclenche un deploy automatique.
Les variables d'environnement requises sont documentées dans .env.example.
Formulaire de contact du site public : les demandes sont enregistrées dans la
table contact_requests (lecture depuis le dashboard Supabase). Pour recevoir
aussi un e-mail à chaque demande, définir les trois variables suivantes en
production :
RESEND_API_KEY=re_...
RESEND_FROM="CoopFinance <no-reply@votre-domaine-verifie>"
CONTACT_NOTIFY_EMAIL=equipe@votre-domaine