Spaces:
Sleeping
Sleeping
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
- Clone the repository:
git clone https://github.com/saifisvibinn/Cert_Web_App_Volaris.git
cd Cert_Web_App_Volaris
- 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
- Set up the frontend:
cd frontend
npm install
- Configure environment variables:
Create a
.envfile in the root directory:
SENDGRID_API_KEY=your_sendgrid_api_key
MAIL_FROM_ADDRESS=your_verified_sender@domain.com
Running Locally
- Start the backend:
uvicorn backend.main:app --reload
- Start the frontend (in a new terminal):
cd frontend
npm run dev
- Open http://localhost:5173 in your browser
Usage
- Upload Files: Upload your Excel file (with Name and Email columns) and PDF certificate template
- Design: Position the name text on the certificate and customize styling
- Configure: Fill in event details (name, date, company) for email templates
- 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