Plateforme de certification académique sur blockchain Cardano
Émettez, vérifiez et authentifiez des diplômes sous forme de NFT immuables et infalsifiables.
| App | Port | URL | Code |
|---|---|---|---|
| 🏠 Landing (+ Verifier) | 3003 | proofchains.org | apps/landing |
| 🎓 Issuer | 3001 | issuer.proofchains.org | apps/issuer |
| ⚙️ Admin | 3002 | admin.proofchains.org | apps/admin |
# Installation
npm install
# Développement (toutes les apps)
npm run dev
# App spécifique
npm run issuer:dev
npm run admin:dev| Dossier | Description |
|---|---|
| apps/landing | Landing page + Vérification de diplômes |
| apps/issuer | Portail institutions |
| apps/admin | Dashboard administration |
| packages/ui | Composants React partagés |
| packages/shared | Services, hooks, types |
| packages/chain | SDK Cardano (mint, verify) |
| scripts | Scripts de déploiement |
| supabase | Schéma SQL |
| Catégorie | Technologies |
|---|---|
| Frontend | Next.js 13, React 18, Tailwind CSS |
| Language | TypeScript 5.3 |
| Blockchain | Cardano, Lucid, Blockfrost API |
| Wallets | Eternl, Lace |
| Storage | IPFS via Pinata |
| Database | Supabase (PostgreSQL) |
| Auth | Supabase Auth |
| Monorepo | Turborepo |
| Deploy | Vercel |
| Wallet | Type | Statut |
|---|---|---|
| Eternl | Extension Desktop | ✅ Supporté |
| Eternl | Mobile (iOS/Android) | ✅ Supporté |
| Lace | Extension Desktop | ✅ Supporté |
Sur mobile, l'app redirige vers le navigateur dApp intégré d'Eternl.
Voir l'implémentation : packages/ui/src/hooks/useWallet.ts
Voir package.json pour toutes les commandes.
npm run dev # Toutes les apps
npm run issuer:dev # Issuer uniquement
npm run admin:dev # Admin uniquement
npm run landing:dev # Landing uniquement (inclut la vérification)npm run build # Build production
npm run lint # ESLint
npm run clean # Nettoyer les buildsVoir scripts/deploy.ps1
npm run deploy # Preview (toutes les apps)
npm run deploy:prod # Production (toutes les apps)Créer un fichier .env à la racine (voir .env.example pour le format) :
# === Supabase ===
NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJxxx...
# === Cardano / Blockfrost ===
NEXT_PUBLIC_BLOCKFROST_PROJECT_ID=preprodXXX
NEXT_PUBLIC_BLOCKFROST_NETWORK=preprod
# === IPFS / Pinata ===
PINATA_JWT=eyJxxx...
# === URLs des apps ===
NEXT_PUBLIC_LANDING_URL=https://proofchains.org
NEXT_PUBLIC_ISSUER_URL=https://issuer.proofchains.org
NEXT_PUBLIC_ADMIN_URL=https://admin.proofchains.org
⚠️ Ne jamais commiter les fichiers.env
Pour les institutions (Issuer)
- 🎓 Émission de diplômes NFT sur Cardano
- 📋 Gestion des étudiants
- 📊 Dashboard avec statistiques
- 🔐 Authentification sécurisée
Pour la vérification (intégré dans Landing)
- 🔍 Recherche par ID document ou Asset ID
- ✅ Vérification blockchain en temps réel
- 📄 Affichage des métadonnées du diplôme
Administration (Admin)
- ✅ Validation KYC des institutions
- 📊 Statistiques globales
- 👥 Gestion des utilisateurs
- 💳 Gestion des abonnements
Voir .gitignore - Fichiers exclus de Git :
.env,.env.local.vscode/node_modules/
MIT License - Voir LICENSE