ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Hackathon 1 · Punjab Jobs AI Bootcamp · J-PAL South Asia · Scheduling Optimizer
A web app that builds clash-free college timetables for any college. The admin enters the week, rooms, teachers, classes and subjects (or pastes them from Excel), presses Generate, and gets a timetable for every class, teacher and room in a few seconds. Every result is re-checked by a separate clash checker.
Live app: https://hussnn18.github.io/h1/ (no sign-up; everything runs in your browser)
Presentation: docs/ClashFree-Presentation.pdf (feature screenshots in docs/screenshots/)
Testing data: samples/ with a testing guide
Shortcut links: ?sample=demo&tab=timetables&generate=1 loads the demo and generates straight away.
Other samples: small, large (20 classes, 440 lessons), impossible (shows the error messages).
The timetable in-charge of a college. Today they build the timetable by hand for weeks and it still has clashes, uneven loads and rooms that sit empty, while departments fight over shared labs and seminar halls.
| Problem in a real college | What ClashFree does |
|---|---|
| Teacher, room or class double-booked | Hard rule; a separate checker proves 0 clashes |
| Part-time staff, meetings, exam duty | Per-teacher availability grid (click periods or whole days off) |
| Teachers overloaded on some days | Max periods per day per teacher, and even spread across the week |
| Labs need 2–3 periods together, not across lunch | Multi-period sessions never cross a break |
| Class split into lab batches G1/G2 | Batches may run side by side in different labs; the solver pairs them so no half sits idle |
| Departments compete for shared rooms | Rooms belong to a department or are shared; capacity and room type are checked |
| Same subject twice a day | Subjects spread over the week (at most once a day unless sessions > days) |
| Data that cannot work (too many hours, no big room) | Plain-language check before generating, and a reason for every lesson that did not fit |
| Last-minute changes | Click-to-move with live legality check; moved classes are locked and kept on regenerate |
| Teacher absent today | Substitute finder: who is free, available and under their limit, same department first |
| Need a room for an extra class | Free-room finder by day, period and type |
| Sharing the result | Print / Save as PDF (one class per A4 page), CSV for Excel, JSON backup |
js/solver.js, runs in a Web Worker):
js/validate.js) re-checks every hard rule from scratch. The "0 clashes" badge and the tests use it.Any static file server works. With Python:
python -m http.server 8080
Then open http://localhost:8080. (Opening index.html directly from disk will not work: browsers block JavaScript
modules on file://.)
Node.js 20+:
npm test
Covers: every sample is solved with 0 clashes and nothing missing; the validator catches each kind of clash; split labs run side by side; locked lessons stay put; impossible data gives the right messages; move checker, substitute finder and free-room finder.
node scripts/bench.mjs
prints quality numbers (gaps, idle batches, spread) for each sample.
All fictional. Load them from Load sample in the app, or import the JSON files.
| File | What it is |
|---|---|
samples/demo.json | Engineering college: 6 classes in CSE, ECE, ME and Applied Sciences; 18 teachers (some part-time or with blocked periods); 15 rooms incl. shared seminar hall, computer centre and physics lab; split lab batches; a 3-period workshop |
samples/small.json | 2 classes, 4 teachers, 3 rooms |
samples/large.json | 20 classes in 6 departments, 52 teachers, 42 rooms, 440 lessons |
samples/impossible.json | Deliberate mistakes: overloaded teacher, class of 120 with 60-seat rooms, 5-period session |
samples/csv/*.csv | The demo college as CSV, in the column order of the "Paste from Excel" boxes |
Regenerate them with node scripts/make-samples.mjs.
index.html page shell
css/style.css light, dark and print styles
js/model.js data model and shared helpers
js/solver.js precheck, solver, diagnosis
js/validate.js independent clash checker and quality metrics
js/tools.js move checker, substitute finder, free rooms
js/worker.js runs the solver off the main thread
js/app.js steps, samples, import/export
js/editors.js week, rooms, teachers, classes, subjects screens
js/generate.js generate screen
js/timetable.js timetable grids, moving, printing, CSV
js/daily.js daily tools
samples/ test datasets
scripts/ sample generator, benchmark
tests/ node:test suite
docs/ presentation deck and screenshots
Built with Claude Code.