Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Devis, factures conformes, relances et suivi du chiffre d'affaires pour les travailleurs indépendants. Un indépendant qui facture jongle souvent entre trois outils : un tableur pour le devis, un traitement de texte pour la facture, sa boîte mail pour la relance. Freelance Flow réunit la chaîne complète — client, projet, devis, facture, encaissement — dans une seule application, avec une promesse simple : produire un devis ou une facture conforme en moins de deux minutes, TVA calculée au centime et mentions légales comprises.README 전문 보기 ↗
Devis, factures conformes, relances et suivi du chiffre d'affaires pour les travailleurs indépendants.
Un indépendant qui facture jongle souvent entre trois outils : un tableur pour le devis, un traitement de texte pour la facture, sa boîte mail pour la relance. Freelance Flow réunit la chaîne complète — client, projet, devis, facture, encaissement — dans une seule application, avec une promesse simple : produire un devis ou une facture conforme en moins de deux minutes, TVA calculée au centime et mentions légales comprises.
Projet de démonstration réalisé par Aurélien Jesson-Daniel dans le cadre du titre RNCP 39583 « Expert en développement logiciel » (Ynov). L'application est déployée et fonctionnelle, mais non commercialisée : le paiement fonctionne en environnement de test Stripe, sans aucun prélèvement réel.
Application en ligne : https://freelance-flow-wine.vercel.app
FAC-2026-001 / DEV-2026-001, attribuée à l'émission seulement (un brouillon n'a pas de numéro).⌘K / Ctrl+K) et notifications.| Couche | Technologie |
|---|---|
| Framework | Next.js 14 (App Router, server actions), React 18, TypeScript |
| Interface | Tailwind CSS 3, composants shadcn/ui, icônes Lucide |
| Données et authentification | Supabase (PostgreSQL, Auth, Storage) avec Row Level Security |
| Accès aux données | Prisma 6 |
| Validation | Zod |
Puppeteer (puppeteer-core + @sparticuz/chromium) | |
| Paiement | Stripe Checkout et webhooks signés (mode test) |
| Resend | |
| Supervision | Sentry (erreurs uniquement) |
| Tests | bun test (unitaires et intégration), Playwright (bout en bout), axe-core |
| Hébergement | Vercel (région Dublin) |
| Environnement | Bun |
app/
├── (public)/ Pages publiques : accueil, connexion, inscription,
│ mentions légales, page d'acceptation de devis (/proposition)
├── (app)/ Application authentifiée : tableau de bord, clients, projets,
│ │ devis, factures, rapports, abonnement, paramètres
│ └── */actions.ts Server actions : session, validation Zod, filtre utilisateur
└── api/ Routes serveur : PDF, webhook Stripe, tâche de relance, keep-alive
components/ Composants d'interface, rangés par domaine
lib/
├── invoicing/ Cœur métier pur : montants, TVA, numérotation, mentions, dates
├── pdf.ts Rendu PDF (Puppeteer)
├── reminders.ts Règles des relances (pures) — reminder-sweep.ts les exécute
└── supabase/, auth/ Clients Supabase et session
prisma/schema.prisma Modèle de données
supabase/migrations/ Migrations SQL versionnées (schéma, règles RLS, stockage)
tests/
├── integration/ Server actions contre une vraie base de test, isolation entre comptes
└── e2e/ Parcours réels dans Chromium
scripts/ Audits rejouables (accessibilité, éco-conception) et test de fumée
docs/ecoindex.md Rapport d'éco-conception
Modèle de données — une hiérarchie stricte utilisateur → client → projet → document → lignes. Chaque table porte l'identifiant de l'utilisateur.
Génération du PDF — le moteur de rendu navigue vers la vraie page du document, avec la session de l'utilisateur, et l'imprime. Il n'existe donc qu'une seule source de vérité visuelle : ce que l'utilisateur voit à l'écran est exactement ce que le client reçoit.
Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy..env.local en local, variables d'environnement Vercel en production.main exige les cinq contrôles au vert.docs/ecoindex.md.Prérequis : Bun et un projet Supabase (les migrations se trouvent dans supabase/migrations/).
bun install
cp .env.example .env.local # puis renseigner les variables ci-dessous
bun run dev # http://localhost:3000
| Variable | Rôle | Requise |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | URL du projet Supabase | oui |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Clé publique Supabase | oui |
SUPABASE_SECRET_KEY | Clé secrète Supabase (serveur uniquement) | oui |
DATABASE_URL | Connexion PostgreSQL via le pooler (application) | oui |
DIRECT_URL | Connexion PostgreSQL directe (migrations) | oui |
NEXT_PUBLIC_SITE_URL | URL publique de secours pour les liens envoyés par e-mail | non |
STRIPE_SECRET_KEY | Clé secrète Stripe (mode test) | paiement |
STRIPE_WEBHOOK_SECRET | Secret de signature du webhook Stripe | paiement |
STRIPE_PRICE_MONTHLY / STRIPE_PRICE_YEARLY | Identifiants des tarifs Premium | paiement |
RESEND_API_KEY | Clé de l'API Resend | envoi d'e-mails |
NEXT_PUBLIC_SENTRY_DSN | DSN Sentry | supervision |
CRON_SECRET | Secret de la tâche planifiée de relance | relances |
Sans les variables optionnelles, l'application démarre et la fonction concernée est simplement indisponible.
| Commande | Effet |
|---|---|
bun run dev | Serveur de développement |
bun run build / bun run start | Compilation et serveur de production |
bun run lint | Vérification du code |
bun test | Tests unitaires |
bun run test:coverage | Tests unitaires avec couverture |
bun run test:integration | Tests d'intégration (base de test requise) |
bunx playwright test | Tests de bout en bout |
bun run audit:a11y | Audit d'accessibilité axe-core |
bun scripts/eco/audit.ts | Audit d'éco-conception EcoIndex |
SMOKE_BASE_URL=<url> bun --env-file=.env.production scripts/smoke/pdf-prod.ts | Test de fumée du PDF sur l'environnement déployé |
main. Les fonctions serveur tournent en région Dublin, au plus près de la base.supabase/migrations/, appliquées sur les deux environnements.CRON_SECRET.Aurélien Jesson-Daniel — projet réalisé dans le cadre du titre RNCP 39583 « Expert en développement logiciel », Ynov.