Skip to content

CoinCeylon/CertiFly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ CertiFly

Revolutionizing Academic Credentials with Blockchain Technology

A Next-Generation Certificate Issuance and Verification Platform

License: GPL v3 Cardano Hyperledger FireFly TypeScript React

๐ŸŽฌ Watch Video | ๐ŸŒ Live Demo | ๐Ÿš€ Quick Start | ๐Ÿ“š Documentation | ๐Ÿค Contribute


๐ŸŽฏ The Problem We're Solving

Verifying the authenticity of degree certificates issued by partner universities across multiple countries is often:

  • Slow and Manual: Traditional verification processes can take weeks or months
  • Non-Transparent: Limited visibility into the verification process
  • Fraud-Prone: Fraudulent certificates are difficult to detect, especially across borders
  • Inefficient: Employers, immigration offices, and universities face delays and uncertainties

๐Ÿš€ Our Solution

CertiFly is a revolutionary blockchain-powered platform that connects universities like Cardiff University with their global partner institutions (such as ICBT in Sri Lanka) through:

  • Cardano Blockchain: For secure, immutable certificate storage
  • Hyperledger FireFly: For multi-party communication and coordination
  • Cryptographic Hashing: Ensuring privacy while maintaining verifiability
  • Real-time Verification: Instant certificate validation for employers and institutions

๐ŸŽฌ Live Demo

See CertiFly in Action!

CertiFly Demo Video

Click the image above to watch our comprehensive demo showcasing the complete certificate issuance and verification workflow.

๐ŸŽฅ What You'll See in the Demo:

  • Partner University Portal: Bulk certificate request submission
  • Multi-Party Blockchain Communication: Real-time coordination between universities
  • Certificate Generation: Automated PDF creation with blockchain verification
  • Public Verification: Instant certificate authenticity checking
  • End-to-End Workflow: Complete process from request to verification

๐Ÿ—๏ธ Architecture Overview

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Partner Univ   โ”‚    โ”‚   Hyperledger    โ”‚    โ”‚  Main Univ      โ”‚
โ”‚   (e.g., ICBT)  โ”‚โ—„โ”€โ”€โ–บโ”‚    FireFly       โ”‚โ—„โ”€โ”€โ–บโ”‚ (e.g., Cardiff) โ”‚
โ”‚                 โ”‚    โ”‚   Multi-Party    โ”‚    โ”‚                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚  Communication   โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ”‚
         โ”‚                       โ”‚                       โ”‚
         โ”‚              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             โ”‚
         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚   Blockchain     โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                        โ”‚   - Ethereum     โ”‚
                        โ”‚   - Cardano      โ”‚
                        โ”‚   (Interop)      โ”‚
                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŒŸ Key Features

๐Ÿ”— Multi-Party Blockchain Communication

  • Hyperledger FireFly: Enables seamless coordination between parent and partner universities
  • Three-Node Setup: Secure multi-party communication network
  • Verified Partners: Only authenticated partner institutions can submit requests

๐Ÿ›ก๏ธ Blockchain Interoperability

  • Ethereum: Currently used for internal messaging (FireFly support)
  • Cardano: Used for final certificate hash storage (low fees, energy efficient)
  • Future-Ready: Will transition to full Cardano when FireFly multi-node support is available

๐Ÿ” Privacy-First Design

  • Zero Personal Data on Chain: Only cryptographic hashes are stored
  • GDPR Compliant: Student privacy fully protected
  • Tamper-Proof: Immutable records prevent certificate fraud

โšก Real-Time Verification

  • Instant Validation: Upload certificate PDF for immediate verification
  • Public Portal: Accessible to employers, immigration offices, and institutions
  • No Manual Process: Eliminates need for direct university contact

๐ŸŽฎ Platform Walkthrough

1. Partner University Portal

  • Bulk Request Submission: Partner universities submit batch certificate requests
  • Required Information:
    • Batch and Faculty details
    • Academic year
    • Contact information
    • CSV file with student data

2. Main University Dashboard

  • Cardiff Met Portal: Dedicated dashboard for main university
  • Batch Processing: View and process incoming certificate requests
  • Automated Notifications: Instant updates to partner universities

3. Certificate Management

  • Download Certificates: Partners can download individual PDFs
  • Batch Operations: Efficient handling of multiple certificates
  • Status Tracking: Real-time updates on certificate status

4. Public Verification

  • Quick Verify: Instant certificate validation
  • PDF Upload: Simple drag-and-drop verification
  • Blockchain Confirmation: Hash verification against stored records

๐Ÿ› ๏ธ Technical Stack

Backend

  • Node.js & TypeScript: Robust server-side development
  • Express.js: RESTful API framework
  • Cardano CLI: Blockchain interaction
  • Hyperledger FireFly: Multi-party communication

Frontend

  • React 18: Modern UI framework
  • TypeScript: Type-safe development
  • Tailwind CSS: Utility-first styling
  • Vite: Fast build tool

Blockchain

  • Cardano: Certificate hash storage
  • Ethereum: Internal messaging (temporary)
  • Hyperledger FireFly: Multi-party coordination

Infrastructure

  • Docker: Containerized deployment
  • Supabase: Database and authentication
  • Multi-node Setup: Distributed network architecture

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • Docker & Docker Compose
  • Cardano CLI
  • Hyperledger FireFly CLI (or you can use it like step 2)

1. Clone the Repository

git clone https://github.com/CoinCeylon/CertiFly.git
cd CertiFly

2. Setup Hyperledger FireFly Multi-Party Network

# Navigate to firefly-cli directory
cd firefly-cli

# Initialize three-node FireFly network
./ff/main init certifly-network 3 --prompt-names --multiparty

# Prompt names and nodes
When initializing the FireFly network, you will be prompted to enter organization names and node names for each participant. For example:

- name for org 0: cardiff-met
- name for node 0: cardiff-node
- name for org 1: icbt-campus
  name for node 1: icbt-node
- name for org 2: partner-university
- name for node 2: partner-node

Choose meaningful names to easily identify each university and their corresponding node in the network.

# Start the multi-party network
ff start certifly-network

3. Initialize Cardano Wallet

# Generate wallet keys 
cardano-cli address key-gen \
  --verification-key-file backend/wallet/payment.vkey \
  --signing-key-file backend/wallet/payment.skey
  # Add to .env

4. Setup Backend

cd backend
npm install
cp .env.example .env
# Configure your environment variables
npm run dev

5. Setup Frontend

cd frontend
# Configure your environment variables
npm install
npm run dev

๐Ÿ“ Project Structure

certifly/
โ”œโ”€โ”€ backend/                 # Node.js backend API
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ app.ts           # Main application entry point
โ”‚   โ”‚   โ”œโ”€โ”€ controllers/     # Route handlers
โ”‚   โ”‚   โ”œโ”€โ”€ models/          # Data models
โ”‚   โ”‚   โ”œโ”€โ”€ routes/          # API route definitions
โ”‚   โ”‚   โ”œโ”€โ”€ services/        # Business logic & external integrations
โ”‚   โ”‚   โ”œโ”€โ”€ utils/           # Utility functions
โ”‚   โ”‚   โ””โ”€โ”€ wallet/          # Cardano wallet keys
โ”‚   โ”œโ”€โ”€ dist/                # Compiled JavaScript output
โ”‚   โ”œโ”€โ”€ package.json         # Backend dependencies
โ”‚   โ””โ”€โ”€ tsconfig.json        # TypeScript configuration
โ”œโ”€โ”€ frontend/                # React frontend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/      # Reusable UI components
โ”‚   โ”‚   โ”œโ”€โ”€ pages/           # Page components
โ”‚   โ”‚   โ”œโ”€โ”€ hooks/           # Custom React hooks
โ”‚   โ”‚   โ”œโ”€โ”€ lib/             # Utility libraries
โ”‚   โ”‚   โ”œโ”€โ”€ assets/          # Static assets (images, fonts)
โ”‚   โ”‚   โ”œโ”€โ”€ App.tsx          # Main App component
โ”‚   โ”‚   โ”œโ”€โ”€ ICBTDashboard.tsx # ICBT specific dashboard
โ”‚   โ”‚   โ””โ”€โ”€ main.tsx         # React entry point
โ”‚   โ”œโ”€โ”€ public/              # Static public assets
โ”‚   โ”‚   โ”œโ”€โ”€ images/          # Image assets
โ”‚   โ”‚   โ””โ”€โ”€ favicon.ico      # Site favicon
โ”‚   โ”œโ”€โ”€ dist/                # Built frontend assets
โ”‚   โ”œโ”€โ”€ package.json         # Frontend dependencies
โ”‚   โ”œโ”€โ”€ vite.config.ts       # Vite build configuration
โ”‚   โ””โ”€โ”€ tailwind.config.ts   # Tailwind CSS configuration
โ”œโ”€โ”€ firefly-cli/             # Hyperledger FireFly CLI tools
โ”‚   โ”œโ”€โ”€ cmd/                 # CLI command implementations
โ”‚   โ”œโ”€โ”€ internal/            # Core FireFly functionality
โ”‚   โ”œโ”€โ”€ pkg/                 # Go package definitions
โ”‚   โ”œโ”€โ”€ ff/                  # FireFly binary executable
โ”‚   โ”œโ”€โ”€ docs/                # Documentation and guides
โ”‚   โ”œโ”€โ”€ go.mod               # Go module dependencies
โ”‚   โ””โ”€โ”€ Makefile             # Build automation
โ””โ”€โ”€ README.md                # Project documentation

๐ŸŒ API Endpoints

Main University (Cadiff) Operations

  • GET /api/cardiff/inbox - Cardiff university message inbox
  • GET /api/cardiff/inbox?viewed=true - Cardiff university message inbox
  • GET /api/cardiff/inbox?viewed=false - Cardiff university message inbox
  • GET /api/cardiff/process-message - Cardiff university process message and issue certificates

Partner University (ICBT) Operations

  • POST /api/icbt/submit-batch-with-metadata - Submit certificate request batch
  • GET /api/icbt/certificates - Get received certificates
  • GET /api/icbt/download/student/:batchId/:studentId - Download student certificate
  • GET /api/icbt/batch-details - fetch Batch Details

Verification Portal

  • POST /api/verify/certificate - Verify certificate by hash
  • POST /api/verify/certificate-id - Verify certificate by ID

๐Ÿ”’ Security Features

  • Multi-Signature Verification: Multiple parties must confirm certificate issuance
  • Cryptographic Hashing: SHA-256 hashing for certificate integrity
  • Access Control: Role-based permissions for different university types
  • Audit Trail: Complete history of all certificate operations
  • Privacy Protection: No personal data stored on blockchain

๐ŸŒ Global Scalability

CertiFly is designed to be globally applicable and can be used by:

  • Universities: Any institution worldwide can join the network
  • Multinational Organizations: Document verification and issuance
  • Government Agencies: Immigration and credential verification
  • Employers: Instant degree verification for hiring

๐Ÿ”ฎ Future Roadmap

Phase 1 (Current)

  • โœ… Ethereum-based messaging via FireFly
  • โœ… Cardano certificate storage
  • โœ… Basic multi-party communication

Phase 2 (Upcoming)

  • ๐Ÿ”„ Full Cardano integration when FireFly multi-node support is available
  • ๐Ÿ”„ Enhanced partner onboarding
  • ๐Ÿ”„ Mobile application

Phase 3 (Future)

  • ๐Ÿ”„ AI-powered fraud detection
  • ๐Ÿ”„ Integration with major university systems
  • ๐Ÿ”„ Government partnership programs

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

๐Ÿ“„ License

CertiFly is free software released under the GNU General Public License v3.0 or later.
See the full text in the LICENSE file or read it online at the GNU website.

๐Ÿ“ž Support

๐Ÿ† Acknowledgments

  • Cardano Foundation: For the robust blockchain infrastructure
  • Hyperledger Foundation: For the FireFly multi-party system
  • Cardiff University: For partnership and testing
  • ICBT: For real-world validation

Built with โค๏ธ for a more transparent and secure academic future

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages