Inspiration

The student's transcript only shows cumulative GPA but not a major GPA. So we embark on a journey to solve this problem.

What it does

Major GPA Wizard is a user-friendly application that simplifies the process of calculating your major GPA from a formatted PDF file.

  1. File Upload: Users upload their PDF files through a simple and intuitive interface.

  2. PDF Parsing: The backend, built with Node.js and Express, utilizes the "pdfreader" package to parse the PDF content efficiently.

  3. Data Filtering: The parsed data is converted into JSON format, and filtering operations are applied to extract the necessary information related to CS subjects.

  4. GPA Calculation: The backend calculates the total GPA based on the extracted CS subjects, providing users with a clear understanding of their academic achievements.

How we built it

Frontend:

  • React.js
  • Vite.js (for React project setup)

Backend:

  • Node.js
  • Express.js
  • pdfreader (for PDF parsing)
  • multer (for file uploading)
  • cors (for handling CORS issues)
  • dotenv (for managing environment variables)

Challenges we ran into

  1. Frontend PDF Parsing: Initial attempts to parse PDFs in the frontend using "tesseract.js" OCR faced challenges as it primarily works with images. Switching to a Node.js backend with the "pdfreader" package resolved this issue.

  2. File Upload: Uploading and handling files on the server posed challenges. The use of the "multer" middleware streamlined the file upload process.

  3. PDF to Image Conversion: Initially exploring PDF to image conversion for OCR posed difficulties. Ultimately, the "pdfreader" package emerged as a suitable solution for parsing PDFs directly.

The GPA Calculator addresses these challenges, providing a reliable and efficient solution for users to calculate their GPA effortlessly from a formatted PDF.

Accomplishments that we're proud of

Use OCR in a project

What we learned

OCR

What's next for MajorGPA-Wizard

Improving

Central Park pedicab tours

Share this project:

Updates