shiping
An interview assistant and an exam assistant that uses AI to provide solution ideas in real time during 「面试」 or 「在线考试」.
AI translation
Yachi University student management system
Translation pending
EducationJavaScript · HTMLGitHub @istabraq59OnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A small web app for managing students, courses, enrollments and grades. Built with plain HTML and JavaScript, Supabase (database and sign-in) and GitHub Pages (hosting).
Live site: https://istabraq59.github.io/yachi-univ/
Access rules are enforced by the database (Supabase Row Level Security), not by the page.
Hiding a button is only cosmetic. The page contains only the public "publishable" key.
Never put a secret or service_role key in this repository.
| File | Purpose |
|---|---|
index.html | Page layout, sign-in, students, enrollments and roster |
config.js | Supabase project URL and publishable key |
grades.js | Grade entry and transcript |
roles.js | Hides controls by role, phone layout, typed confirmations |
signup.js | Sign-up form, pending accounts, "waiting for approval" notice |
reports-page.js | Reports and CSV export |
teachers.js | Teachers, course assignments, approving teachers |
courses.js | Courses, academic years and semesters |
npx --yes http-server -a 127.0.0.1 -p 8080
Then open http://127.0.0.1:8080
Commit and push to the main branch. GitHub Pages updates in about a minute.
index.html: the page and the sign-in box. It loads the scripts below, in this order.config.js: the Supabase address and the publishable key (safe to be public). Never put a secret key here.grades.js, roles.js, signup.js, reports-page.js, teachers.js, courses.js: students, roles, sign-up and approval, reports, teachers, courses and semesters.forgot.js: "Forgot password?" link and the new-password box.google.js: "Continue with Google" button.attendance.js: take attendance, view a summary, download CSV; students see their own.auditlog.js: admin-only list of grade changes.announcements.js: post and read announcements.accounts.js: admin-only list of logins with Deactivate / Reactivate.authmsg.js: shows sign-in errors that come back in the web address (for example a deactivated account after Google sign-in).privacy.html: the privacy policy page (linked from the bottom of the main page and from Google Cloud).Each feature is one small file plus one <script> line in index.html. All of them use the shared db object from index.html and read the signed-in role from body[data-role]. Security is not in these files: it is enforced by the database rules (see the sms repository, db/functions.sql). Hiding a card in the browser is only for convenience.
git add, git commit, git push. GitHub Pages publishes in about a minute. If a push times out, run git push again when the network is better; the commit is safe on the phone.
If the site address ever changes (for example a custom domain), update these:
forgot.js and google.js: the redirectTo address.signup.js: the emailRedirectTo check for github.io.privacy.html: the website line.