MicroAI Paygate
AI 요청 결제 게이트웨이로 EIP-712 서명, 영수증 발행, 클라이언트 서명 검증 지원
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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