https://github.com/caedmon5/student-kanban-public
This is the public-facing version of my student kanban-reading board.
https://github.com/caedmon5/student-kanban-public
Last synced: about 1 month ago
JSON representation
This is the public-facing version of my student kanban-reading board.
- Host: GitHub
- URL: https://github.com/caedmon5/student-kanban-public
- Owner: caedmon5
- Created: 2026-02-13T19:48:50.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-05-06T19:24:46.000Z (about 1 month ago)
- Last Synced: 2026-05-06T21:32:59.841Z (about 1 month ago)
- Language: Python
- Size: 16.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Student Reading Queue Automation
This repository contains scripts and workflows to manage a student reading queue on GitHub using private repos and a central Kanban board.
## Overview
- Each student has a private repository for submitting papers.
- Papers are submitted as GitHub issues using a standard template.
- Issues are automatically synced to a GitHub Project (v2) Kanban board.
- Status updates in the board are mirrored back to repo issues with labels and comments.
- A shared inbox repository can be used for students without GitHub accounts.
## Repository Structure
- students.csv — list of students (name, github_username).
- add_students.py — creates private repos for students, pushes issue templates, adds collaborators, and seeds an initial issue.
- paper-submission.md — issue template used for paper submissions.
- pull_issues_to_kanban.py — sync script that:
- Adds issues from all student repos to the central Project.
- Updates Status fields.
- Posts comments when statuses change.
- Mirrors board status into labels.
- update-kanban.yml — GitHub Actions workflow to run the sync on a schedule or manually.
## Setup
1) Prepare a GitHub token with repo and project permissions.
In your repository: Settings > Secrets and variables > Actions > New repository secret
Name the secret: GH_TOKEN
2) Create student repos
python add_students.py
This will:
- Create a private repo for each student listed in students.csv.
- Add the issue template.
- Invite the student as a collaborator.
- Open an initial placeholder issue.
3) Set up the inbox repo (optional)
- Create a repo named reading-inbox.
- Add .github/ISSUE_TEMPLATE/paper-submission.md to that repo (copy this file).
- Ensure Issues are enabled in the repo settings.
Use this repo to add papers for students without GitHub accounts.
4) Run the Kanban sync
Trigger manually:
python pull_issues_to_kanban.py
Or let GitHub Actions run it via the update-kanban.yml workflow.
## Usage
- Students submit papers by creating issues in their repos with the provided template.
- You can add papers for non-GitHub students via the reading-inbox repo (same template).
- The Kanban board shows all submissions in one place.
- Status changes in the board trigger comments and labels in the original issue.
## Notes
- The workflow requires the correct permission key repository-projects (not projects) in update-kanban.yml.
- Ensure GH_TOKEN has access to both private repos and Projects (v2).
## License
This project is for instructional and academic use. Adapt as needed for your own lab or course.