Skip to content

Privacy-first student submission platform with LaTeX support, auto-save, and AI documentation. Generate professional PDFs for Gradescope - all client-side.

Notifications You must be signed in to change notification settings

VeriQAi/GradeBridge-Student-Submission

Repository files navigation

GradeBridge Student Submission

Complete academic assignments with LaTeX support and generate professional PDFs for Gradescope - entirely in your browser.

Version License

Live Demo


The Problem

Traditional submissions: Inconsistent formatting, broken equations, messy PDFs that are a nightmare to grade.

GradeBridge workflow: Guided, structured submission forms that auto-generate perfectly formatted PDFs.

The two-app workflow:

  1. Assignment Maker - Instructors create structured assignments
  2. Student Submission (this app) - Students complete work and generate grading-ready PDFs

Result: No more "my formatting broke" excuses. Consistent submissions that make grading 50% faster.


Key Features

  • 100% Browser-Based - No server, no account, no data transmission. Everything stays on your computer.
  • Auto-Save - Work saved every second to browser storage
  • LaTeX Math Support - Live preview with built-in cheatsheet (fractions, integrals, Greek letters, matrices)
  • Multiple Answer Types - Text with LaTeX, image uploads, AI reflective documentation
  • Professional PDF Generation - Gradescope-compatible output matching instructor templates
  • Try Demo - One-click sample assignment to explore features instantly
  • Backup & Restore - Export/import work as JSON

Quick Start

Try It Now

  1. Go to the Live Demo
  2. Click "Try Demo Assignment" in the sidebar
  3. Click "LaTeX Math Help" for math notation reference

Complete an Assignment

  1. Get assignment JSON from instructor
  2. Click "Upload JSON" in sidebar
  3. Enter your name and student ID
  4. Complete each problem (text/images/AI reflection)
  5. Click "Preview & Download PDF"
  6. Upload PDF to Gradescope

Local Development

git clone https://github.com/VeriQAi/GradeBridge-Student-Submission.git
cd GradeBridge-Student-Submission
npm install
npm run dev

Assignment JSON Format

Assignments are created using the Assignment Maker:

{
  "id": "unique-id",
  "courseCode": "ECE416",
  "title": "Mini-Project 1",
  "dueDate": "2024-12-01",
  "dueTime": "23:59",
  "preamble": "Instructions for the entire assignment...",
  "problems": [
    {
      "id": "prob-1",
      "name": "System Analysis",
      "description": "Analyze the following system...",
      "subsections": [
        {
          "id": "prob-1-a",
          "name": "Transfer Function",
          "description": "Derive the transfer function",
          "points": 5,
          "submissionType": "Text",
          "maxImages": 0
        },
        {
          "id": "prob-1-b",
          "name": "Step Response",
          "description": "Plot the step response",
          "points": 5,
          "submissionType": "Image",
          "maxImages": 2
        }
      ]
    }
  ],
  "createdAt": 1700000000000,
  "updatedAt": 1700000000000
}

Submission Types: Text, Image, AI Reflective


Data & Privacy

  • All data stored in browser localStorage
  • No server communication, no analytics, no account required
  • Data persists across browser restarts
  • Always export JSON backups - data is lost if you clear browser cache

Troubleshooting

Issue Solution
Assignment won't load Verify JSON was exported from Assignment Maker
LaTeX not rendering Refresh page; KaTeX loads from CDN
PDF generation fails Check internet; html2pdf loads from CDN
Lost work Always export JSON backups regularly
Images too large Compress images; use JPG instead of PNG

Gradescope Integration

PDFs are designed to match Assignment Maker templates:

  • One page per subsection
  • Consistent headers on all pages
  • Image answers get dedicated pages

See GRADESCOPE_COORDINATION.md for technical details.


Development

Tech Stack

React 19 + TypeScript + Vite + Tailwind CSS + KaTeX (CDN) + html2pdf.js (CDN)

Build & Deploy

npm run build      # Production build
npm run deploy     # Deploy to GitHub Pages

Known Limitations

  • CDN Dependencies - KaTeX and html2pdf.js load from CDN; internet required for LaTeX rendering and PDF generation
  • Long Text Answers - Very long answers that exceed one page may have imperfect breaks (html2pdf limitation)
  • Mobile Experience - Optimized for desktop; functional but not ideal on phones

Browser Support

Chrome 90+, Firefox 88+, Safari 14+, Edge 90+


Contributing

  1. Fork the repository
  2. Create feature branch
  3. Make changes with clear commits
  4. Submit pull request

License

MIT License - Free for personal and commercial use.


Links


Built with React, TypeScript, KaTeX, html2pdf.js, and Lucide.

Provided free by VeriQAi.