Bulk-generate, digitally sign, and publicly verify certificates β in minutes, not hours.
Vura is a production-ready certificate automation platform built for event organizers, colleges, and communities. Upload an Excel sheet of participants and a PDF template β Vura generates hundreds of personalized, verifiable certificates instantly. Each certificate gets a unique ID and QR code that anyone can scan to confirm its authenticity.
Built because manually generating and emailing certificates for events is a broken, error-prone process.
- Bulk Generation β Upload participant data via Excel (.xlsx) and map it to any PDF template. Generate hundreds of certificates in a single operation.
- Public Verification β Every certificate carries a unique Certificate ID and QR code. Anyone can verify authenticity instantly via a public URL β no login required.
- Secure Storage β Generated certificates are stored on AWS S3. Metadata (names, IDs, issue dates) is persisted in Neon PostgreSQL via Prisma ORM.
- Organization Auth β NextAuth.js with bcrypt password hashing protects organization dashboards and templates. Each org manages its own certificate issuance independently.
- Email Delivery β Certificates are automatically emailed to recipients via Nodemailer upon generation.
- Animated UI β Responsive frontend built with Tailwind CSS v4 and Framer Motion for smooth, polished interactions.
- CI/CD Pipeline β GitHub Actions workflow automates linting, building, and deployment on every push to
main.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) + React 19 |
| Language | TypeScript 5 |
| Styling | Tailwind CSS v4 + Framer Motion |
| Auth | NextAuth.js v4 + Prisma Adapter + bcryptjs |
| ORM | Prisma 6 |
| Database | Neon PostgreSQL (serverless) |
| File Storage | AWS S3 (via AWS SDK v3) |
| PDF Generation | pdf-lib |
| QR Codes | qrcode |
| Excel Parsing | xlsx |
| Nodemailer | |
| CI/CD | GitHub Actions |
| Deployment | Vercel |
Excel Upload (.xlsx)
β
βΌ
Parse Rows βββΊ Map to PDF Template (pdf-lib)
β
βΌ
Generate Certificate
β
ββββΊ Assign unique Certificate ID
ββββΊ Embed QR Code β links to /verify/[id]
ββββΊ Upload to AWS S3
ββββΊ Save metadata to Neon PostgreSQL (Prisma)
ββββΊ Email to recipient (Nodemailer)
Public Verification:
/verify/[certificateId] βββΊ Query DB βββΊ Show certificate details
- Node.js 18+
- A Neon PostgreSQL database
- An AWS S3 bucket with IAM credentials
- A mail provider (SMTP/Gmail for Nodemailer)
git clone https://github.com/omn7/Vura.git
cd Vura
npm installCreate a .env file in the root:
# Database
DATABASE_URL="postgresql://..."
# Auth
NEXTAUTH_SECRET="your-secret"
NEXTAUTH_URL="http://localhost:3000"
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
# AWS S3
AWS_ACCESS_KEY_ID="your-access-key"
AWS_SECRET_ACCESS_KEY="your-secret-key"
AWS_REGION="ap-south-1"
AWS_S3_BUCKET_NAME="your-bucket-name"
# Email
SMTP_HOST="smtp.gmail.com"
SMTP_PORT=587
SMTP_USER="your-email@gmail.com"
SMTP_PASS="your-app-password"npx prisma migrate devnpm run devOpen http://localhost:3000.
- Register your organization and log in via the secure dashboard.
- Upload your PDF template β design it with placeholder fields for names, dates, etc.
- Upload an Excel sheet with participant data (name, email, role, etc.).
- Map Excel columns to template fields and click Generate.
- Vura generates all certificates, uploads them to S3, saves records to the database, and emails each participant.
- Recipients can scan the QR code on their certificate to verify it at
vurakit.vercel.app/verify/[id].
βββ app/ # Next.js App Router pages and API routes
β βββ api/ # API routes (auth, generate, verify)
β βββ (dashboard)/ # Protected org dashboard pages
βββ components/ # Reusable UI components
βββ lib/ # Utilities (prisma client, s3, pdf, qr, mail)
βββ prisma/ # Prisma schema and migrations
βββ types/ # TypeScript type definitions
βββ .github/workflows/ # CI/CD pipeline
π vurakit.vercel.app
Vura has been officially selected for GirlScript Summer of Code 2026! π
Check out our official project details and tracking here: Vura on GSSoC Portal
Note to Contributors: Please review our CONTRIBUTING.md for guidelines on issue assignments, tech stack specifications, and design system requirements before opening a Pull Request.
Om Narkhede β omnarkhede.tech Β· LinkedIn Β· @omn7