Skip to content

Salma-dev-ops/Certificate-Issuance-System

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AvaCertify: Certificate Issuance System

📝 Description

AvaCertify is a decentralized application (dApp) that leverages smart contracts on the Avalanche blockchain to issue, verify, and revoke certificates securely and transparently.

💥 Features

1️⃣ Issue Certificates

  • Functionality: The contract owner (issuer) can create a certificate for a recipient.
  • How It Works:
    • A unique Certificate ID is assigned.
    • The recipient’s name, course, and issue date are stored on the blockchain.
    • An event log is generated for tracking.

2️⃣ Verify Certificates

  • Functionality: Anyone can verify a certificate’s validity.
  • How It Works:
    • The blockchain securely stores certificate data.
    • A function retrieves certificate details using the Certificate ID.

3️⃣ Revoke Certificates

  • Functionality: The issuer can revoke a certificate if necessary.
  • How It Works:
    • The smart contract updates the certificate status to "revoked."
    • Revoked certificates can no longer be verified as valid.

🛠️ Tech Stack

  • Languages: Solidity, JavaScript
  • Frameworks: Avalanche, React, Node.js, Firebase
  • Tools: Truffle, Hardhat

🚀 Setup Instructions

1️⃣ Clone the repository:

 git clone https://github.com/Avalanche-Team1-DAO-Kenya/Certificate-Issuance-System.git

2️⃣ Install dependencies:

 npm install

3️⃣ Compile the contracts:

 npx hardhat compile

4️⃣ Configure the Avalanche Network:

(i) Deploy to the Avalanche Fuji Testnet:

 npx hardhat run scripts/deploy.js --network fuji

(ii) Deploy to the Avalanche Mainnet:

 npx hardhat run scripts/deploy.js --network avalanche

(iii) Run the application locally:

 npm start

📍 Contract Details (Deployed on Fuji Testnet)

  • Transaction Hash: 0x2b967c1dd8114a5d78c768169b7dec2e846caaa13d1f38b6acbff86f99ece1c7
  • Block Hash: 0x2dd43ca6d755ccedf7ae2f0b8f36a4c0a749f2d4be7a91c55a627bccd9fb0c25
  • Block Number: 38862712
  • Contract Address: 0x5b0a76A7261b42083a4a4a8A2C101271C8542fFc

5️⃣ Set up Firebase Configuration

In app/firebase.ts, add your Firebase credentials:

REACT_APP_FIREBASE_API_KEY=your_firebase_api_key
REACT_APP_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
REACT_APP_FIREBASE_PROJECT_ID=your_firebase_project_id
REACT_APP_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
REACT_APP_FIREBASE_APP_ID=your_firebase_app_id

🔧 Project Structure

Frontend (Next.js)

  • Components: Reusable UI components (/components directory).
  • Pages: Main entry points for the application (/pages directory).
  • Public Assets: Static files such as images (/public directory).
  • Styles: Global styles (/styles directory).
  • TypeScript Config: Compiler options in tsconfig.json.
  • Package Config: Dependencies and scripts in package.json.

Backend

  • App Entry Point: Server logic in src/app.ts.
  • Type Definitions: Shared types/interfaces in src/types/index.ts.
  • Database: Firebase integration for user profiles and waitlist.

🏗️ Getting Started

Frontend Setup:

 cd frontend
 npm install
 npm run dev

Backend Setup:

 cd backend
 npm install
 npm start

📜 License

This project is licensed under the MIT License.

👥 Team Members

TECH AND DEVELOPMENT LEAD

📢 Additional Resources

🔗 Pitch Deck

⭐ Next Steps

  • Enhance UI/UX: Improve the frontend for a better user experience.
  • Smart Contract Audit: Conduct a security audit for robustness.
  • Multi-Chain Deployment: Expand to other blockchain networks.{not decided}
  • Automated Issuance: AI-powered bulk certificate issuance.
  • Mobile App Development: Build a mobile-friendly version.
  • Institutional Partnerships: Collaborate with universities and certification bodies.
  • Community Engagement: Grow developer and user adoption.

About

TEAM 13

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 88.8%
  • Solidity 4.9%
  • JavaScript 4.8%
  • CSS 1.5%