An interactive rubric builder and grading assistant tool to improve the group project grading experience on Canvas.
Palette runs in a Docker container, providing the necessary Node environment. Make sure you have the following installed:
- Docker: Install Docker
- Docker Compose: Install Docker Compose
Check your installations with:
docker --version
docker-compose --version
A token is required to interact with the Canvas API.
- Sign in to Canvas
- On the left sidebar menu click the account widget
- Click
Settings
- Scroll down to
Approved Integrations
- Select
+ New Access Token
- Label your token by filling in the
Purpose
field - Set an expiration date and/or time as desired, leave blank for no expiration.
- Copy the full token before refreshing the page.
- In the top right of the application, click on the gray circle to open a drop-down menu
- Select
Settings
- Paste your full Canvas API token into the
Token Input
field - Select
Update Settings
- Navigate to the
Builder
tab if you want to create or edit rubrics or theGrading
tab to grade assignment submissions. - Select your target course and assignment.
- Have a blast!
Important
Your account must be authorized as a teacher or grader in order to perform most actions. Students can do certain actions via the API but Palette does not support those at this time.
Two scripts have been provided to update and run the application without worrying about Docker commands.
From the project root, run ./update.sh
to pull the latest content from GitHub, shutdown any running instances of
the application in Docker, rebuild the container with the latest changes, and start the container.
Important
Run this script if there's a new update to pull. If the application has any errors, try running this first as Docker caching sometimes causes issues.
When you just want to run the application, this is the fastest method.
Run ./start.sh
from the project root to start the container and run Palette.
Important
If the application has any errors, try running update.sh
first as Docker caching can sometimes cause issues.
-
Clone the repository and navigate to the root folder:
git clone <repository-url> cd palette
-
Run one of the following commands to start the services:
docker-compose up # Attached mode docker-compose up -d # Detached mode
This will build and start the container on any OS.
-
Stopping the Containers
- Use
CTRL + C
if in attached mode ordocker-compose down
if detached.
- Use
If you have Node.js (version 18+) installed:
-
After cloning the repo, run:
npm install && npm run dev
-
To stop services and remove containers:
docker-compose down
-
Removing Volumes and Images
For a complete cleanup:docker-compose down --volumes --rmi all
-
Optional:
To remove unused resources:docker system prune --all --volumes
Once up and running, you can interact with the application on http://localhost:5173.
-
Permissions Issues
Ensure Docker is running, and check that your user is in thedocker
group. For persistent issues, run withsudo
. -
Checking Logs
docker-compose logs
-
Rebuild Containers
After changes:docker-compose up --build
-
Network Issues
Verify port5173
is free.