How luckycoder07/vouch-project works
Vouch is a code-notarization and integrity-verification platform. Developers submit code through the dashboard, batch workflow, or VS Code extension; the backend normalizes and hashes it, records a ledger entry, and provides verification and signed certificates. Organizations also manage assignments and submission reports. The README documents Supabase storage, Polygon anchoring, and email certificates. Backend implementation excerpts were not provided, so links between its named services are limited to documented responsibilities; optional integrations are dashed.
Main entry points: api.py FastAPI service · OrgDashboard.jsx Organization dashboard · App.jsx Vouch web app · BatchUpload.jsx Submission and batch
Components 27
User interfaces
- Vouch web app
frontend/src/App.jsx - Submission and batch
frontend/src/pages/BatchUpload.jsx - Verification pages
frontend/src/pages/Verification.jsx - Public verification
frontend/src/pages/PublicVerify.jsx - History and certificates
frontend/src/pages/History.jsx - VScore
frontend/src/pages/VScore.jsx - VS Code extension
vouch-vscode-extension/src/extension.ts
Notarization backend
- FastAPI service
backend/api.py - Structural hashing
backend/hasher.py - Ledger service
backend/ledger.py - Batch processor
backend/batch_processor.py
Proof and delivery
- Certificate generation
backend/certificate.py - Certificate signing
backend/signer.py - Proof verification
backend/verifier.py - Blockchain anchoring
backend/anchor.py - Email delivery
backend/mailer.py
Organization workflows
- Assignment service
backend/assignments.py - Organization service
backend/organizations.py - Plagiarism checks
backend/plagiarism.py - Organization dashboard
frontend/src/pages/OrgDashboard.jsx
Identity and data
- Authentication state
frontend/src/context/AuthContext.jsx - Supabase client
frontend/src/lib/supabase.js
Other components
- Developer
- Public verifier
- Supabase
- Polygon Amoy
- Resend API
Connections 28
- Developer → Vouch web app: uses
- Vouch web app → Submission and batch: opens
- Submission and batch → FastAPI service: submits code
- FastAPI service → Structural hashing: hashes code
- FastAPI service → Ledger service: records and checks
- FastAPI service → Batch processor: processes batches
- Developer → VS Code extension: uses
- VS Code extension → FastAPI service: calls API
- Developer → Verification pages: requests check
- Verification pages → FastAPI service: sends code
- Public verifier → Public verification: enters code
- Public verification → FastAPI service: requests verification
- FastAPI service → Proof verification: verifies proof
- History and certificates → FastAPI service: requests records
- FastAPI service → Certificate generation: generates certificate
- FastAPI service → Certificate signing: signs certificate
- FastAPI service → Email delivery: sends certificate
- Email delivery → Resend API: delivers email
- FastAPI service → Blockchain anchoring: anchors ledger
- Blockchain anchoring → Polygon Amoy: writes anchor
- Authentication state → Supabase client: uses auth
- Supabase client → Supabase: auth and profile data
- Ledger service → Supabase: stores records
- Organization dashboard → FastAPI service: manages workspace
- FastAPI service → Organization service: handles organizations
- FastAPI service → Assignment service: handles assignments
- FastAPI service → Plagiarism checks: checks submissions
- Organization dashboard → VScore: views scoring