QuizSpark Pro

Online quizzes & printable practice papers — for modern schools

Welcome Back 👋

📱
🔒

Admin Login 🛠️

System administration access

Default: admin / Admin@123 — change after first login

S

Welcome back,

Student

0 pts
Points
0
Taken
0%
Accuracy
#--
Rank
🔥0
Streak

🎯 Join a Quiz

Available Quizzes

Quiz
Q 1 of 10
30:00
Q1

Quiz Completed!
0%
0/0
🎉
Great Job!
0
✅ Correct
0
❌ Wrong
#--
🏅 Rank
0s
⏱ Time
+0 Points
Added to your rewards

Good day,

Teacher

0
Quizzes
0
Questions
0
Attempts

Quick Actions

My Quizzes

📋 Quiz Details

Public Quiz
Free Access
Randomize Qs
Shuffle Options
Negative Marks

❓ Questions 0

Add your first question
Tap to add manually, use AI, or import from bank
🤖
AI Question Generator
Server-side AI
🔍
💡 Hindi/Unicode: Use .xlsx (Excel) for best results — it stores Devanagari perfectly. For CSV, save as UTF-8 encoding in Excel (File → Save As → CSV UTF-8).

Import from File

Supports CSV (UTF-8), Excel (.xlsx), JSON

📁
Drop file here or tap to browse
CSV · JSON

📄 Download Template

📄 PDF Practice Paper Generator

Build print-ready question papers, answer keys & OMR sheets from your Question Bank.

📋 Paper Details

Include Answer Key
Include OMR Sheet

📑 Sections 0 marks

U

User

Role

Account Details

🌙 Dark Mode
MSS ExamPro
Admin Portal
A
Admin

Dashboard Overview

Platform summary and quick actions

🎓
Teachers
📚
Students
📋
Quizzes
Attempts
Questions
🖨️
Papers

Quick Actions

0
Attempts
0%
Avg Score
0%
Avg Accuracy
0
Top Score
0
Total Quizzes
0
Public
0
Attempts
🔍
Loading…
After uploading, drag the element on the preview below to position it.
🏫 Tap to upload
✍️ Tap to upload
🔖 Tap to upload
Export your Canva design as PNG, upload here — text/data overlays on top
%
💡 Create certificate templates — use the HTML Designer for full visual control, or link a Google Slides template for pixel-perfect branded designs. Students who score above the minimum automatically receive a certificate.

📋 Template Info

%

🔗 Google Slides Presentation

Design your certificate in Google Slides using the placeholder tags below, then share it (Anyone with link → Viewer) and paste the URL or ID here.

⚙️ Google Apps Script Web App URL

Deploy the GAS script (provided below) in your Google account. Paste the deployed Web App URL here — Mss ExamPro will call it when generating a certificate.

📌 Placeholder Tags

Type these tags exactly inside your Google Slide. Mss ExamPro replaces them with real values when generating each student's certificate.

{{STUDENT_NAME}} Student's full name
{{QUIZ_TITLE}} Quiz / exam name
{{SCORE}} Score obtained (e.g. 45)
{{TOTAL_MARKS}} Maximum marks (e.g. 50)
{{PERCENTAGE}} Score percentage (e.g. 90%)
{{RANK}} Quiz rank (e.g. #3)
{{DATE}} Certificate issue date
{{SCHOOL_NAME}} School / organization name
{{TEACHER_NAME}} Issuing teacher's name
{{CERT_ID}} Unique certificate ID
⚙️ GAS Setup Instructions — Click to expand One-time, ~5 min
  1. Design your certificate in Google Slides using the {{PLACEHOLDER}} tags above exactly as shown.
  2. Make the presentation public: Share → Anyone with the link → Viewer.
  3. Go to script.google.comNew project.
  4. Replace all code in Code.gs with the script below.
  5. Click ⚙️ Project settingsScript Properties → Add property: TEMPLATE_ID = your presentation ID.
  6. Click Deploy → New deployment → Type: Web app → Execute as: Me → Who has access: Anyone → Deploy.
  7. Copy the Web App URL and paste it in the field above.
  8. Click Test Connection to verify it works.
// पढ़ाई से प्रतियोगिता तक — Google Slides Certificate Generator
// ─────────────────────────────────────────────────────
// SETUP: In Script Properties (⚙ Project settings → Script Properties)
//        add:  TEMPLATE_ID  =  your-slide-presentation-id
// DEPLOY: Web App | Execute as: Me | Access: Anyone
// ─────────────────────────────────────────────────────

const QSP_TAGS = {
  '{{STUDENT_NAME}}': 'student_name',
  '{{QUIZ_TITLE}}':   'quiz_title',
  '{{SCORE}}':        'score',
  '{{TOTAL_MARKS}}':  'total_marks',
  '{{PERCENTAGE}}':   'percentage',
  '{{RANK}}':         'rank',
  '{{DATE}}':         'date',
  '{{SCHOOL_NAME}}':  'school_name',
  '{{TEACHER_NAME}}': 'teacher_name',
  '{{CERT_ID}}':      'cert_id',
};

function doGet(e) {
  try {
    const p = e.parameter || {};

    // Ping / health check
    if (p.action === 'ping') {
      return json({ ok: true, msg: 'Mss ExamPro GAS connected ✅' });
    }

    const templateId = PropertiesService.getScriptProperties()
                         .getProperty('TEMPLATE_ID');
    if (!templateId) return jsonErr('TEMPLATE_ID not set in Script Properties');

    // Copy the template presentation
    const copy = DriveApp.getFileById(templateId)
                   .makeCopy('QSP_CERT_' + (p.cert_id || Date.now()));
    const pres  = SlidesApp.openById(copy.getId());

    // Replace all placeholder tags on every slide
    pres.getSlides().forEach(slide => {
      Object.entries(QSP_TAGS).forEach(([tag, param]) => {
        slide.replaceAllText(tag, p[param] || '');
      });
    });
    pres.saveAndClose();

    // Export presentation as PDF
    const pdfBlob = DriveApp.getFileById(copy.getId())
                      .getAs('application/pdf');
    const pdfFile = DriveApp.getRootFolder().createFile(pdfBlob);
    pdfFile.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.VIEW);

    // Trash the intermediate Slides copy (PDF is kept)
    copy.setTrashed(true);

    return json({
      success: true,
      pdfUrl:  'https://drive.google.com/file/d/' + pdfFile.getId() + '/view',
      fileId:  pdfFile.getId(),
    });

  } catch (err) {
    return jsonErr(err.message);
  }
}

function json(obj) {
  return ContentService
    .createTextOutput(JSON.stringify(obj))
    .setMimeType(ContentService.MimeType.JSON);
}
function jsonErr(msg) {
  return json({ success: false, error: msg });
}

Add Question

📚 Select from Question Bank

🔍
Loading…

Add Section

Share Quiz 🚀

📤

Submit Quiz?

Are you sure?

Question Map

Answered
Unanswered

Edit User

Add Co-Admin 👤