ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Group registration, one repository per group per assignment, and deadlines enforced on the minute. A flexible alternative to GitHub Classroom and Classroom 50 (classroom50): every workflow, rule and f
EducationPython · JavaScriptGitHub @ajccostaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Group registration, per-assignment repos and deadlines for a course on GitHub. A self-hosted alternative to GitHub Classroom and classroom50, run by GitHub Actions.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Group registration, per-assignment repositories and deadlines for a course on
GitHub, run from one repository in your own organization. A flexible,
self-hosted alternative to GitHub Classroom and Classroom 50 (classroom50), built
on nothing but issues, teams and GitHub Actions — so every workflow, rule and form
is a file you can change.
Set up a course in your browser →
Bedel is Portuguese for the university porter who keeps the rooms and the
timetable: he lets you in, and he locks the door when time is up.Read the full README ↗Group registration, per-assignment repositories and deadlines for a course on GitHub, run from one repository in your own organization. A flexible, self-hosted alternative to GitHub Classroom and Classroom 50 (classroom50), built on nothing but issues, teams and GitHub Actions — so every workflow, rule and form is a file you can change.
Set up a course in your browser →
Bedel is Portuguese for the university porter who keeps the rooms and the timetable: he lets you in, and he locks the door when time is up.
/confirm, then creates their team
and invites them to the organization.Only student numbers ever reach GitHub: names, emails and the rest of your lists stay on your machine.
GitHub retired GitHub Classroom on 28 August 2026, pointing teachers to partner tools such as Classroom 50. Like both, bedel gives every group its own repository seeded from a template. The difference is where it runs: bedel is plain files in a repository you own, inside your organization. There is no app to authorize and no server, and every rule (group size, who may register, how deadlines are worked out) is code you can read and change.
| bedel | Classroom 50 | |
|---|---|---|
| GitHub plan | a free organization | Team or Enterprise (free for verified teachers) |
| Groups | students register against your roster, every member confirms | the first student creates the group, or you assign them |
| Hard deadline | repositories become read-only on the minute, by themselves | you close the assignment by hand |
| Autograding | not built in: add a workflow | built in |
| Changing how it works | edit any file: the whole tool is your copy | your own grading scripts; the app itself is open source and could be forked |
In your browser: ajccosta.github.io/bedel
walks you through it in six steps. You create the course's organization first, so
that both tokens it asks for can be made for that organization alone; it refuses
classic tokens and proves each one belongs to the organization before using it.
The page has no server, and its Content-Security-Policy lets it talk to
api.github.com only. It creates the course's repository from bedel, stores your
roster and the bot's token as encrypted secrets, and writes course.json.
Then, the course's own page. Setup turns on GitHub Pages for the course
repository, which publishes web/manage.html from it at
https://ORG.github.io/registration/. It shows registrations, assignments,
deadlines and whether the bot's runs succeed, without a token. With one, it
releases assignments, changes the course, replaces the roster and renews the bot's
token. It's your course's copy of the code, which changes only when you pull
bedel's updates.
From a terminal: you need gh (the GitHub CLI) logged in, git, and
Python 3.9 or later.
git clone https://github.com/ajccosta/bedel registration
cd registration
./scripts/setup.sh YOUR-ORG
Setup walks through seven steps and asks before each one: organization
permissions, creating YOUR-ORG/registration and pushing this checkout to it,
labels, the admin token (a pre-filled page; GitHub has no API for making one),
the roster, the course itself (name, group size, time zone, classes) and a
final check. It ends with the link to give your students.
The clone keeps bedel as the upstream remote, so later fixes are one command
away: git pull upstream main. A course set up from the browser, or with Use
this template, starts a history of its own instead, so bedel's later changes
have to be merged in by hand.
Everything about the course lives in course.json; everything else is the same
for every course. The full guide, including assignments, deadlines, testing and
resetting, is in scripts/README.md.
bedel is free software under the MIT License.