Get BlockProof up and running in minutes!
- Node.js v16+ installed
- npm or yarn
- (Optional) MetaMask wallet for blockchain features
- (Optional) Google Gemini API key for AI features
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm installCreate backend/.env file:
PORT=5000
NODE_ENV=development
FRONTEND_URL=http://localhost:5173
# Optional: For blockchain functionality
# BLOCKCHAIN_RPC_URL=https://rpc-mumbai.maticvigil.com/
# PRIVATE_KEY=your_private_key
# CONTRACT_ADDRESS=your_contract_address
# Optional: For AI functionality
# GEMINI_API_KEY=your_api_keyNote: The system works without blockchain and AI configuration in simulation mode.
Open two terminals:
Terminal 1 - Backend:
cd backend
npm startBackend runs on: http://localhost:5000
Terminal 2 - Frontend:
cd frontend
npm run devFrontend runs on: http://localhost:5173
Navigate to: http://localhost:5173
- ✅ Issue certificates (generates IDs and hashes)
- ✅ Verify certificates (simulated verification)
- ✅ View all pages and UI functionality
⚠️ Changes won't persist (no blockchain storage)
- ✅ Store certificates on blockchain (immutable)
- ✅ AI-powered verification with Google Gemini
- ✅ Real-time blockchain verification
- ✅ Production-ready functionality
- Go to Admin page
- Fill in the form:
- Recipient: "John Doe"
- Issuer: "Tech University"
- Course: "Web Development"
- Date: Today's date
- Click "Issue Certificate"
- Copy the Certificate ID from the result page
- Go to Verify page
- Paste the Certificate ID
- Click "Verify Certificate"
- View the verification results
# Check if port 5000 is in use
lsof -i :5000
# Use a different port
PORT=5001 npm start# Clear node_modules and reinstall
rm -rf node_modules
npm install
npm run dev# Clear cache
rm -rf node_modules dist .vite
npm install
npm run build- Get testnet MATIC from Polygon Faucet
- Deploy the smart contract (see DEPLOYMENT.md)
- Add blockchain configuration to
.env - Restart backend
- Get API key from Google AI Studio
- Add
GEMINI_API_KEYto.env - Restart backend
Use nodemon for automatic restarts:
npm install -g nodemon
cd backend
nodemon server.jsVite provides hot module replacement automatically!
# Health check
curl http://localhost:5000/api/health
# Issue certificate (requires running backend)
curl -X POST http://localhost:5000/api/issue-certificate \
-H "Content-Type: application/json" \
-d '{
"recipientName": "Jane Doe",
"issuerName": "University",
"course": "Blockchain"
}'├── backend/ # Node.js + Express API
│ ├── controllers/ # Request handlers
│ ├── routes/ # API routes
│ ├── utils/ # Helper functions
│ └── contracts/ # Smart contracts
└── frontend/ # React application
├── src/
│ ├── components/ # Reusable components
│ ├── pages/ # Page components
│ └── utils/ # Helper functions
└── dist/ # Build output
- Check README.md for detailed documentation
- See DEPLOYMENT.md for production deployment
- Review code comments for implementation details
Happy Coding! 🚀