Skip to content

Import from UAchieve#337

Open
bryanbab wants to merge 2 commits intomainfrom
306-alex-import-courses-from-pdf
Open

Import from UAchieve#337
bryanbab wants to merge 2 commits intomainfrom
306-alex-import-courses-from-pdf

Conversation

@bryanbab
Copy link
Copy Markdown
Contributor

Pull Request

Allows users of graduate to upload courses they've taken with a pdf exported from UAchieve

Closes #306

Type of Change

Please tick the boxes that best match your changes.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update
  • This change requires a PCP (ie changes in deps, database, infrastructure, or package exports)

Testing

Please describe how you tested this PR (both manually and with tests) Provide instructions so we can reproduce.

Manually updated PDFs to verify courses parse correctly

@bryanbab bryanbab linked an issue Mar 15, 2026 that may be closed by this pull request
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 15, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
searchneu Error Error Apr 6, 2026 11:28pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
searchneu-docs Skipped Skipped Apr 6, 2026 11:28pm

Request Review

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an “Import from UAchieve” flow to the graduate plan creation UI by introducing a new API endpoint that parses an uploaded PDF and returns detected course codes.

Changes:

  • Add pdf-parse (+ typings) dependency to enable server-side PDF text extraction.
  • Add server-side PDF parsing utilities in auditPlans controller and a new /api/audit/utils/parse-pdf route.
  • Add an upload button to NewPlanModal that posts a PDF to the new API and displays the number of parsed courses.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
pnpm-lock.yaml Locks new pdf-parse and @types/pdf-parse dependencies.
apps/searchneu/package.json Adds pdf-parse and typings to the app’s deps.
apps/searchneu/lib/controllers/auditPlans.ts Adds PDF-to-text parsing and regex-based course extraction.
apps/searchneu/components/graduate/modal/NewPlanModal.tsx Adds client-side PDF upload UI and fetch to parse endpoint.
apps/searchneu/app/api/audit/utils/parse-pdf/route.ts New API route to accept multipart upload, verify user, parse PDF, return courses.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/searchneu/lib/controllers/auditPlans.ts Outdated
Comment thread apps/searchneu/components/graduate/modal/NewPlanModal.tsx
Comment thread apps/searchneu/components/graduate/modal/NewPlanModal.tsx Outdated
Comment thread apps/searchneu/components/graduate/modal/NewPlanModal.tsx Outdated
Comment thread apps/searchneu/app/api/audit/utils/parse-pdf/route.ts Outdated
Comment thread apps/searchneu/app/api/audit/utils/parse-pdf/route.ts Outdated
Comment thread apps/searchneu/app/api/audit/utils/parse-pdf/route.ts Outdated
@denniwang
Copy link
Copy Markdown
Contributor

Expanding scope of ticket a little bit, can we make another PR for this branch that adds a transfer courses section? this will let us actually make use of the parsed courses, right now we're not sure where to put the courses in the list, and for scheduled courses we want to know what year and term to put them in.

@denniwang
Copy link
Copy Markdown
Contributor

Expanding scope of ticket a little bit, can we make another PR for this branch that adds a transfer courses section? this will let us actually make use of the parsed courses, right now we're not sure where to put the courses in the list, and for scheduled courses we want to know what year and term to put them in.

@23langloisj make pr into this branch or make different ticket?

@bryanbab
Copy link
Copy Markdown
Contributor Author

Expanding scope of ticket a little bit, can we make another PR for this branch that adds a transfer courses section? this will let us actually make use of the parsed courses, right now we're not sure where to put the courses in the list, and for scheduled courses we want to know what year and term to put them in.

@denniwang denniwang force-pushed the 306-alex-import-courses-from-pdf branch from 5246228 to a73ce86 Compare March 27, 2026 18:39
Comment thread apps/searchneu/lib/dal/audits.ts Outdated
@vercel vercel bot temporarily deployed to Preview – searchneu-docs April 1, 2026 18:39 Inactive
@vercel vercel bot temporarily deployed to Preview – searchneu-docs April 5, 2026 18:35 Inactive
@vercel vercel bot temporarily deployed to Preview – searchneu-docs April 5, 2026 18:58 Inactive
@bryanbab bryanbab force-pushed the 306-alex-import-courses-from-pdf branch from 3ee0bb4 to 1cf0029 Compare April 5, 2026 19:32
@bryanbab bryanbab force-pushed the 306-alex-import-courses-from-pdf branch from 1cf0029 to db87478 Compare April 5, 2026 19:34
@vercel vercel bot temporarily deployed to Preview – searchneu-docs April 5, 2026 19:39 Inactive
@vercel vercel bot temporarily deployed to Preview – searchneu-docs April 5, 2026 19:42 Inactive
@denniwang denniwang force-pushed the 306-alex-import-courses-from-pdf branch from 889401a to 8497315 Compare April 6, 2026 22:07
@vercel vercel bot temporarily deployed to Preview – searchneu-docs April 6, 2026 22:08 Inactive
move pdfparsing, add transfer courses row

changes based off copilot + builder changes

Potential fix for pull request finding

Co-Authored-By: Dennis Wang <[email protected]>

package

prettier

lint - dennis
@denniwang denniwang force-pushed the 306-alex-import-courses-from-pdf branch from 8497315 to b35683f Compare April 6, 2026 22:11
@vercel vercel bot temporarily deployed to Preview – searchneu-docs April 6, 2026 22:11 Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[alex] import courses from pdf

4 participants