A blockchain-based certificate verification platform that enables institutions to issue and verify tamper-proof digital certificates.
VerifyHub provides a secure way to issue, store, and verify educational certificates using blockchain technology and IPFS storage. Certificates are cryptographically signed and stored on the Ethereum blockchain, ensuring authenticity and preventing fraud.
- Blockchain-secured certificate issuance and verification
- Decentralized storage using IPFS
- Real-time certificate status updates
- Institution branding with custom logos
- Multi-network support (Ganache, Sepolia, Polygon, Ethereum)
- QR code verification
- RESTful API
Backend
- Node.js with Express
- MongoDB
- Web3.js and Truffle
- Socket.IO
- PDFKit
Frontend
- React 19
- Vite
- Tailwind CSS
- Axios
VerifyHub/
├── backend/ # Node.js backend
├── frontend/ # React frontend
└── docs/ # Documentation
- Node.js v20 (v20.19.4 recommended, v25+ not supported)
- MongoDB
- Docker and Docker Compose
-
Clone the repository
-
Install backend dependencies:
cd backend npm install -
Install frontend dependencies:
cd frontend npm install -
Configure environment variables:
cd backend cp .env.example .env # Edit .env with your configuration
-
Start Docker services (Ganache and MongoDB):
cd backend docker compose up -d -
Compile and deploy smart contracts:
Option A: Using local Truffle (recommended)
cd backend npx truffle compile --config truffle-config.cjs npx truffle migrate --network development --config truffle-config.cjs --resetOption B: Using Docker
cd backend docker compose --profile deploy up truffle -
Start the backend server:
cd backend npm start -
Start the frontend:
cd frontend npm run dev
MIT License





