Skip to content

AnsonEyre/classcrew

Repository files navigation

ClassCrew

Purpose

An auto-grading AI application that helps teachers grade Canvas assignments. The app fetches assignments and submissions from Canvas via backend APIs, applies AI-assisted scoring with configurable rubrics, and lets teachers review and export grades back to Canvas.

Goals:

  • Reduce teacher grading time for written and objective assignments
  • Provide consistent, explainable AI-generated scores with editable feedback
  • Seamless Canvas integration for assignment fetching and grade export

Tech Stack

  • TypeScript (full-stack)
  • Next.js (app framework)
  • Convex (backend functions and minimal storage)
  • Better Auth (authentication)
  • Vercel (hosting)
  • Tailwind CSS with daisyUI (UI)
  • Anthropic (AI)

Architecture

  • Data storage: Store Canvas access tokens and course references in Convex. Assignment, submission, and rubric data can be temporarily stored in the client during grading workflows.
  • API pattern: Frontend calls Next.js server action functions that fetch from Canvas API and return data to frontend. Backend and frontend share convex connection.
  • Background processing: Use Convex async functions for batch scoring and retryable jobs.
  • Secrets: Store API keys in Convex secrets, never in repo.

Constraints

  • Privacy: Follow FERPA expectations. Minimize data storage.
  • Canvas integration: Use Canvas OAuth and APIs per their terms.
  • OpenAI usage: Follow OpenAI usage policies.

Instructions for Build and Use

Steps to build and/or run the software:

  1. bun install & bun run dev
  2. Select start without an account (run Convex locally)
  3. Create a new convex project if prompted
  4. Open the local Next.js app in your browser (usually http://localhost:3000)

Instructions for using the software:

  1. Create a new account with a new canvas token
  2. add a course (won't let you due to stripe payment, check out public version)
  3. start grading

If you want to see the public version of the app, you can visit classcrew.com.

Development Environment

To recreate the development environment, you need the following software and/or libraries with the specified versions:

Useful Websites to Learn More

I found these websites useful in developing this software:

Future Work

The following items I plan to fix, improve, and/or add to this project in the future:

  • Fix ending quotation marks on AI results?
  • Canvas Auth Provider
  • Delete grades that are a month old
  • Delete all data related to a course on course deletion

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors