Skip to content

Repository files navigation

πŸ›‘οΈ Proofly

Decentralized Digital Credential Issuance, Verification & Management Platform
Anchored on the Polygon Blockchain with SHA-256 Cryptographic Proofs, Gasless Relayers, and Cross-Platform Flutter Mobile Wallet.


Live Web Application Network Flutter TypeScript Supabase Solidity


πŸ“‘ Table of Contents

  1. Overview
  2. System Architecture
  3. Key Features
  4. Monorepo Structure
  5. Smart Contract Details
  6. Tech Stack
  7. Getting Started (Local Development)
  8. Mobile App Setup
  9. Production Deployment
  10. License

🌟 Overview

Proofly solves the widespread problem of certificate fraud and paper-based credential verification. By anchoring verifiable credential fingerprints directly onto the Polygon Amoy Testnet through Solidity smart contracts, Proofly allows universities, enterprises, and certification bodies to issue tamper-proof certificates that anyone can verify instantly via web or mobile β€” without requiring users to own crypto or pay gas fees.


πŸ›οΈ System Architecture

Proofly System Architecture

πŸ”„ End-to-End Verification Lifecycle

 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚   Organization  β”‚ ───►  β”‚  Express API    β”‚ ───►  β”‚  Polygon Smart       β”‚
 β”‚   (Issuer Web)  β”‚       β”‚  & Relayer Svc  β”‚       β”‚  Contract (Registry) β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    β”‚
                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β–Ό                     β–Ό
               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
               β”‚  Supabase        β”‚   β”‚  AWS SES / S3    β”‚
               β”‚  Postgres DB     β”‚   β”‚  Email & Storage β”‚
               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                               β”‚
                                               β–Ό
                                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                      β”‚  Recipient       β”‚
                                      β”‚  (Flutter App)   β”‚
                                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                               β”‚
                                               β–Ό
                                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                      β”‚  Public Verifier β”‚
                                      β”‚  (Web / QR Scan) β”‚
                                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

✨ Key Features

  • ⛓️ On-Chain Proofs on Polygon: Every issued credential is authenticated with its unique SHA-256 hash directly on the CertificateRegistry smart contract.
  • ⚑ Gasless Relayer Mechanism: Backend transaction sponsor ensures non-crypto users can issue and receive credentials with 0 gas fees.
  • πŸ” Multi-Mode Instant Verification:
    • Certificate ID / Hash Search: Live query against smart contract state.
    • Drag & Drop PDF Verification: Instant client-side cryptographic hashing matches against blockchain registry in <100ms.
    • Mobile QR Code Scanning: Camera-based cryptographic verification on the mobile app.
  • πŸ“± Cross-Platform Mobile Wallet (Flutter):
    • Offline certificate vault with AES-encrypted local storage.
    • High-res PDF download and social sharing.
    • Organization verification badges.
  • πŸ“§ Automated Email Claim Flows: AWS SES-powered claim invitations delivering 1-click tokenized links to recipients.
  • πŸ“„ Vector Certificate Generation Engine: Dynamic generation of high-quality PDF certificates with embedded QR codes and signatures.

πŸ“‚ Monorepo Structure

Proofly/
β”œβ”€β”€ api/                    # Vercel Serverless Function entry point
β”œβ”€β”€ apps/
β”‚   └── mobile/             # Flutter cross-platform mobile app (Android/iOS)
β”‚       β”œβ”€β”€ lib/            # Dart source (Providers, Models, Screens, Widgets)
β”‚       └── assets/         # App icons, vectors & branding
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ contracts/          # Hardhat Solidity smart contracts & deployment scripts
β”‚   β”‚   └── contracts/      # CertificateRegistry.sol
β”‚   └── shared/             # Shared TypeScript schemas, DTOs & Zod validators
β”œβ”€β”€ services/
β”‚   └── api/                # Express.js REST API & Web UI static portal
β”‚       β”œβ”€β”€ public/         # Light-themed Web application (HTML/CSS/JS/SVG)
β”‚       └── src/
β”‚           β”œβ”€β”€ modules/    # Auth, Organizations, Certificates, Claims, Verification
β”‚           β”œβ”€β”€ services/   # Blockchain, S3, SES Email, PDF Generation
β”‚           └── config/     # Environment, Supabase & Web3 configs
β”œβ”€β”€ infrastructure/         # Supabase PostgreSQL migrations & schemas
β”œβ”€β”€ assets/                 # Architecture diagrams & documentation assets
└── vercel.json             # Vercel cloud deployment configuration

⛓️ Smart Contract Details


πŸ’» Tech Stack

Layer Technologies
Blockchain Solidity 0.8.24, Hardhat, Ethers.js v6, Polygon Amoy
Backend API Node.js 20, Express, TypeScript, Zod, JWT
Database & Auth Supabase (PostgreSQL, Row-Level Security)
Cloud Services AWS S3 (Storage), AWS SES (Transactional Email)
Frontend Web HTML5, Vanilla CSS3, JavaScript (ES6+), SVG Vectors
Mobile App Flutter 3.x, Dart, Provider / State Management
Hosting & CI/CD Vercel (Serverless Functions & Global Edge CDN)

πŸš€ Getting Started (Local Development)

1. Prerequisites

  • Node.js >= 20.x
  • npm >= 10.x
  • Flutter SDK >= 3.22.x
  • Git

2. Clone and Install Dependencies

git clone https://github.com/atharvabaodhankar/Proofly.git
cd Proofly
npm install

3. Configure Environment Variables

Copy .env.example to .env in the root directory (or in services/api/.env):

PORT=4000
NODE_ENV=development
API_BASE_URL=http://localhost:4000/api/v1
APP_URL=http://localhost:4000
JWT_SECRET=your_secret_jwt_key_here

# Supabase
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

# Polygon Amoy
CHAIN_ID=80002
NETWORK_NAME=polygon-amoy
POLYGON_AMOY_RPC_URL=https://polygon-amoy.g.alchemy.com/v2/YOUR_KEY
CONTRACT_ADDRESS=0xfb960EB42729f84C48040eBe264b11473d926006
RELAYER_PRIVATE_KEY=your_wallet_private_key

# AWS S3 & SES
STORAGE_PROVIDER=s3
AWS_REGION=ap-south-1
AWS_ACCESS_KEY_ID=your_aws_key
AWS_SECRET_ACCESS_KEY=your_aws_secret
AWS_S3_BUCKET=proofly-certificates
EMAIL_FROM=no-reply@yourdomain.com

4. Build Monorepo & Start API Server

# Compile contracts and TypeScript packages
npm run build

# Start local API server and Web UI (http://localhost:4000)
npm run dev:api

πŸ“± Mobile App Setup

cd apps/mobile

# Fetch Flutter dependencies
flutter pub get

# Run on connected device / simulator
flutter run --dart-define=API_URL=http://localhost:4000/api/v1

# Build release APK
flutter build apk --release --dart-define=API_URL=https://proofly-api.vercel.app/api/v1

🌐 Production Deployment

The web app and API are pre-configured for 1-click deployment on Vercel:

  • Simply connect this repository to Vercel.
  • Add the production environment variables in the Vercel dashboard.
  • Vercel automatically deploys the static UI and serverless Express API.

πŸ“„ License

This project is licensed under the ISC License.

About

Decentralized digital credential issuance & verification platform anchored on Polygon Amoy. Features gasless relayers, SHA-256 cryptographic proofs, Express API, Supabase, and a Flutter cross-platform mobile wallet.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages