Built for a 2nd year internal project
Java implementation guide
Keep the final college submission beginner-friendly: use Java OOP, ArrayList, file export, and MessageDigest for real SHA-256 hashing. You can present this React prototype as the UI idea and implement the core logic in Java.
Recommended Java file structure
DonationRecord.java
Plain Java class with donor code, blood group, hospital, date, previousHash, and hash.
HashUtil.java
Uses MessageDigest with SHA-256 and converts bytes to hexadecimal text.
BlockchainLedger.java
ArrayList of records with addRecord(), calculateHash(), and verifyChain() methods.
Main.java
Menu-driven console app: add record, view ledger, search hash, verify chain, export report.
Concepts you can explain confidently
- Encapsulation through a DonationRecord class.
- ArrayList as the simple ledger storage.
- SHA-256 hashing using Java MessageDigest.
- previousHash links that make tampering visible.
- Menu-driven console UI or Swing UI for a beginner version.
Resume-ready scope
Present it as a tamper-evident record verification system for blood banks. Mention data validation, record search, JSON export, and SHA-256 blockchain-style verification.
Built a Java-based Blood Donation Record Verification System using OOP, ArrayList storage, and SHA-256 blockchain-style hash chaining to detect tampered donation records.Beginner starter code idea
Keep it understandable for viva questions
MessageDigest digest = MessageDigest.getInstance("SHA-256");
String data = donorCode + bloodGroup + hospital + donationDate + previousHash;
byte[] bytes = digest.digest(data.getBytes(StandardCharsets.UTF_8));
String hash = bytesToHex(bytes);