Certificates-Generator / README_ORIGINAL.md
saifisvibin's picture
Configure for Hugging Face Spaces deployment with Docker
530365a

Certificate Generator App

A professional certificate generation and email distribution system built with FastAPI and React.

Features

  • πŸ“ Dynamic Certificate Generation: Create personalized certificates from PDF templates
  • πŸ“§ Bulk Email Sending: Send certificates to multiple recipients via SendGrid
  • 🎨 Custom Fonts: Support for TTF font files
  • πŸ“Š Real-time Progress: Live progress tracking for email campaigns
  • πŸ”’ Secure: Environment-based credential management

Tech Stack

  • Backend: FastAPI, Python, PyMuPDF, SendGrid
  • Frontend: React, Vite, TailwindCSS, Framer Motion
  • Database: In-memory (for progress tracking)

Getting Started

Prerequisites

  • Python 3.8+
  • Node.js 16+
  • SendGrid API Key

Installation

  1. Clone the repository:
git clone https://github.com/saifisvibinn/Cert_Web_App_Volaris.git
cd Cert_Web_App_Volaris
  1. Set up the backend:
# Create virtual environment
python -m venv certappvenv
certappvenv\Scripts\activate  # Windows
# source certappvenv/bin/activate  # macOS/Linux

# Install dependencies
pip install -r requirements.txt
  1. Set up the frontend:
cd frontend
npm install
  1. Configure environment variables: Create a .env file in the root directory:
SENDGRID_API_KEY=your_sendgrid_api_key
MAIL_FROM_ADDRESS=your_verified_sender@domain.com

Running Locally

  1. Start the backend:
uvicorn backend.main:app --reload
  1. Start the frontend (in a new terminal):
cd frontend
npm run dev
  1. Open http://localhost:5173 in your browser

Usage

  1. Upload Files: Upload your Excel file (with Name and Email columns) and PDF certificate template
  2. Design: Position the name text on the certificate and customize styling
  3. Configure: Fill in event details (name, date, company) for email templates
  4. Send: Monitor real-time progress as certificates are generated and emailed

Environment Variables

Variable Description
SENDGRID_API_KEY Your SendGrid API key
MAIL_FROM_ADDRESS Verified sender email address

Deployment

See deployment_guide.md for deployment instructions.

License

MIT