Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Application web personnelle de suivi du salaire, des dépenses (permanentes, temporaires) et des crédits, avec calculs automatiques et prévisions mensuelles. Interface en français, mobile-first, montants en MAD/DH. • Next.js (App Router) + TypeScript • Tailwind CSS • Radix UI primitives + Lucide icons • PostgreSQL + Prisma ORM (base de données persistante, prête pour la production) • PWA (manifest + service worker basique) 1. Avoir une base PostgreSQL accessible (locale ou hébergée) et définir son URL : 2. Installer les dépendances, appliquer les migrations et semer les données de départ :README 전문 보기 ↗
Application web personnelle de suivi du salaire, des dépenses (permanentes, temporaires) et des crédits, avec calculs automatiques et prévisions mensuelles. Interface en français, mobile-first, montants en MAD/DH.
Avoir une base PostgreSQL accessible (locale ou hébergée) et définir son URL :
cp .env.example .env
# éditer .env et renseigner DATABASE_URL
Installer les dépendances, appliquer les migrations et semer les données de départ :
npm install
npx prisma migrate deploy
npm run db:seed
Lancer le serveur de développement :
npm run dev
Ouvrir http://localhost:3000.
Le seed initial (prisma/seed.ts) est idempotent : il ne remplit la base que
si elle est vide, avec les données de départ (salaire 5 500 DH, crédit Dnya,
Zineb, Tomobil, Makla, Abonnements, Dar, Solaih).
Provisionner une base PostgreSQL (Vercel Postgres/Neon, Supabase, ou autre) et copier son URL de connexion.
Dans les réglages du projet Vercel, ajouter la variable d'environnement
DATABASE_URL avec cette URL (Production + Preview).
Connexion avec Google : AUTH_GOOGLE_ID et AUTH_GOOGLE_SECRET (client
OAuth « Application Web » du projet Google Cloud gx-salaire, avec
<site>/api/auth/callback/google dans ses URI de redirection) et
AUTH_SECRET (une valeur aléatoire, qui signe les sessions).
Importer ce dépôt dans Vercel (Next.js est détecté automatiquement).
npm run build exécute prisma generate && next build, et
postinstall exécute déjà prisma generate après npm install.
Appliquer les migrations sur la base de production (une fois, ou à chaque déploiement si le schéma change) :
npx prisma migrate deploy
puis semer les données de départ si la base est neuve :
npm run db:seed
Ces deux commandes se lancent depuis un environnement ayant accès à la
même DATABASE_URL que le déploiement Vercel (poste local avec la variable
exportée, ou vercel env pull puis vercel build).
Chacun se connecte avec Google (/connexion) et ne voit que ses propres
données : chaque table a un userId, et l'extension Prisma de
src/lib/prisma.ts l'ajoute à chaque requête (src/lib/user-scope.ts). La
session est un cookie signé (src/lib/session.ts), vérifié par
src/proxy.ts. Les données d'avant les comptes appartiennent à
[email protected].
prisma/schema.prisma — modèles Expense et Settings (mêmes champs que
src/lib/types.ts, dates gardées en chaînes "YYYY-MM-DD").prisma/seed.ts — données de départ, idempotent.src/lib/prisma.ts — client Prisma singleton (requêtes limitées à l'utilisateur connecté).src/lib/repository.ts — accès aux données (CRUD dépenses, réglages,
export/import), entièrement asynchrone.src/lib/engine.ts — moteur de calcul pur (échéancier des crédits, totaux
mensuels, prévisions), indépendant de la base de données. Rien n'est codé
en dur : tout est dérivé des dépenses et du salaire enregistrés.src/app — pages (Accueil, Crédits, Budget mensuel, Timeline, Réglages,
ajout/édition de dépense) et routes API (/api/expenses, /api/settings,
/api/export, /api/import).La couche de données est isolée dans repository.ts : le moteur de calcul et
l'interface n'ont aucune dépendance directe à Prisma ou PostgreSQL.
Depuis Réglages : export JSON complet (dépenses + réglages) et import JSON (remplace les données actuelles).