How dakshmistri369/certify-ai works
CertifyAI turns uploaded or pasted student rosters into personalized certificate files. The main workflow is roster extraction and review, template/placeholder configuration, preview, bulk rendering, then PDF/PNG and ZIP download. Flask routes coordinate these stages and expose dashboard and verification features. Persistence supports certificate and batch history through MongoDB with local JSON fallback. The excerpts do not show every route or helper call, so uncertain wiring is omitted; documented capabilities are retained where their source paths are clear.
Main entry points: app.py Flask application · templates Browser UI · db.py Persistence layer · main.js Coordinate editor
Components 18
Web experience
- Browser UI
templates - Flask application
app.py
Roster and design
- Coordinate editor
static/js/main.js - Roster upload or paste
- Roster extraction
utils/data_extractor.py - Template configuration
config.json
Certificate generation
- Certificate templates
static/sample_templates - Certificate renderer
utils/certificate_maker.py - Combined PDF export
utils/pdf_helper.py - ZIP export
utils/zip_helper.py - Generated files
- Live preview
templates/preview.html
History and verification
- Persistence layer
utils/db.py - Local JSON records
utils/db.py - MongoDB Atlas
- Admin dashboard
templates/dashboard.html - Certificate verification
templates/verify.html
Other components
- Certificate operator
Connections 23
- Certificate operator → Browser UI: uses
- Browser UI → Flask application: submits requests
- Browser UI → Roster upload or paste: uploads or pastes
- Flask application → Roster extraction: extracts roster
- Flask application → Coordinate editor: serves editor
- Coordinate editor → Flask application: saves settings
- Flask application → Template configuration: reads and writes
- Flask application → Certificate templates: resolves template
- Flask application → Certificate renderer: renders certificates
- Flask application → Live preview: serves preview
- Flask application → Combined PDF export: merges PDFs
- Flask application → ZIP export: archives batch
- Certificate renderer → Generated files: writes files
- Combined PDF export → Generated files: writes PDF
- ZIP export → Generated files: writes archive
- Flask application → Persistence layer: records and queries
- Persistence layer → Local JSON records: reads and writes
- Persistence layer → MongoDB Atlas: persists when connected
- Flask application → Admin dashboard: serves dashboard
- Flask application → Certificate verification: serves verification
- Admin dashboard → Flask application: requests history
- Certificate verification → Flask application: checks credential
- Flask application → Generated files: serves downloads