ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
CBAT 5개 전부, 전체 모의시험, 즉시 T‑Score 제공. RDSO 형식에 따라 힌디어와 영어 지원
All 5 tests of the CBAT, Full Mock Tests, instant T-Score. As per RDSO pattern, in Hindi and English.
교육TypeScript · PLpgSQLGitHub @furnexoliving-code온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
The portal's main paper is the RRB Watch Table Test (the following-directions
test): eight letter-and-number positions round a circle with a compass at the
centre, and twenty questions that walk a path between two compass points.
• /watch-table/ — the exam
• /admin/watch-table — the panel
Everything about a paper is set there, with no code change:
Nothing is written until every line parses, so one typo cannot leave half a
paper. "Build a sample set" fills a new paper from its diagram so you can see
the format, then download it as a starting file.README 전문 보기 ↗The portal's main paper is the RRB Watch Table Test (the following-directions test): eight letter-and-number positions round a circle with a compass at the centre, and twenty questions that walk a path between two compass points.
/watch-table/<slug> — the exam/admin/watch-table — the panelEverything about a paper is set there, with no code change:
| Timers | Instruction screen and test clock, separately, in minutes |
| Controls | Instructions button, Question Paper button, Pause, Fullscreen, mouse-wheel lock, and whether questions run past the right edge |
| Diagram | The eight positions, or a link to your own image |
| Questions | Upload your own, edit one inline, or download what is saved |
| Publish | Papers stay drafts until you tick Published |
Questions upload one per line:
English question | Hindi question | 1,5,4,3,2 | 4
Nothing is written until every line parses, so one typo cannot leave half a paper. "Build a sample set" fills a new paper from its diagram so you can see the format, then download it as a starting file.
The result reports
T = 50 + 10 × (marks − mean) ÷ standard deviation
against everyone who has sat that paper. 50 is the average candidate and every 10 points is one standard deviation. The arithmetic is printed under the figure so it can be checked.
Attempts are recorded once, when the sitting is closed by the submit — reloading does not enter the same candidate twice. Until a paper has enough submissions (5 by default, set per paper) the mean and standard deviation an admin enters are used instead, and the result says so. With neither, the T-score reports that it is not available rather than showing a fictional 50.
A standard deviation of zero would divide by zero; that case returns 50, since everyone scoring the same means everyone is exactly average.
Admins get every attempt for a paper at
/admin/watch-table/<slug>/results, with rank, T-score and cut-off per row,
and a CSV download that opens correctly in Excel including Hindi names.
The key never reaches a candidate's browser. The exam page is served with the
answers stripped, candidates read a database view that omits the key column,
and /api/watch-table/score marks the paper server-side with the service-role
client. Without that, anyone could open the result page in a second tab and
read every answer out of the page source.
Run supabase/schema.sql first, then supabase/watch-table-schema.sql. The
other files there are additions, each run once in the SQL editor, in any
order: packages.sql, coupons.sql, blog.sql, admin-note.sql,
cohort-speed.sql, attempt-counts.sql, autosave-rpc.sql,
admin-analytics.sql, admin-home.sql, cohort-stats.sql. The portal works
without the last six and falls back to a slower path; each file's header says what
it speeds up.
There is no sign-up. The institute issues accounts from /admin/students —
one at a time or from a pasted list — and a student signs in with the mobile
number and password they were given. An account can be switched off without
deleting its results.
Every candidate page needs an account: /dashboard, the three test lists
under /tests/<kind>, the exam and its result. The admin panel is reached
only by typing /admin; nothing links to it, and it opens with the admin's
password AND a six-digit code from an authenticator app (TOTP, via Supabase
MFA). The first visit sets the app up at /admin/setup-2fa; every later
session enters its code at /admin/verify. Every admin page and every admin
action checks both. A lost phone is recovered from the Supabase dashboard
(Authentication → Users → open the account → Remove MFA factors), or
with delete from auth.mfa_factors where user_id = (select id from auth.users where email = '<mobile>@students.kautilya.local'); in the SQL editor, after
which the panel asks for a new set-up. The database enforces the second lock
too: is_admin() is true only for a session that has passed it.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗