shiping
An interview assistant and an exam assistant that uses AI to provide solution ideas in real time during 「面试」 or 「在线考试」.
AI translation
SpaceJam: a collaborative whiteboard for the classroom. Join with a code, add sticky notes, draw, and brainstorm together.
EducationJavaScript · CSSGitHub @robertspeciale-39OnlineOwner 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
Space Jam!
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A collaborative classroom whiteboard modeled on Google Jamboard (retired Dec 31, 2024), styled with the CyberSpesh Design System v3. Students join with a 6-character code: no accounts, no email. Teachers sign in with Google, build jams, hand out codes, and watch every student or group work live.
main)docs/SpaceJam-Project-Plan.mdcs_theme key with other CyberSpesh apps)With js/firebase-config.js left empty, SpaceJam runs in local demo mode: everything is stored in your browser and syncs between tabs on the same computer. Open the site, click Continue as demo teacher, make a jam, assign it, then open a second tab and join with the code as a student.
You only do this once. Firebase's free Spark plan is enough for classroom use.
Create the project. Go to https://console.firebase.google.com → Create a project → name it spacejam-westcta → turn Google Analytics off → Create project.
Turn on sign-in. Left menu → Build → Authentication → Get started → Sign-in method tab:
Allow your site's address. Still in Authentication → Settings tab → Authorized domains → Add domain. Add your Vercel address (for example spacejam-xxxx.vercel.app) and, if you use it, jam.wctacyber.org.
Create the database. Left menu → Build → Realtime Database → Create Database → choose United States (us-central1) → Start in locked mode → Enable.
Install the security rules. In Realtime Database, open the Rules tab → delete what's there → paste the entire contents of database.rules.json → Publish.
Add yourself as a teacher. Open the Data tab. Hover the top (root) line → click +:
allowlist (leave Value empty) → click the + on that new row.robert,speciale@gmail,comtrue → Add.
Repeat the last step for any other teacher who should be able to sign in.jam.wctacyber.orgjam.wctacyber.org.wctacyber.org → DNS → Add record: Type CNAME, Name jam, Target cname.vercel-dns.com, Proxy status DNS only (grey cloud).jam.wctacyber.org to Firebase Authorized domains (step 3).| Limit | Detail |
|---|---|
| 100 simultaneous connections | Firebase's free plan caps the Realtime Database at 100 connected browsers at once. One or two full classes is fine. If several classes use SpaceJam at the same moment, upgrade the Firebase project to the pay-as-you-go Blaze plan. |
| Images | Shrunk in the browser to about 300 KB each, 10 per frame. Stored in the database, so no Cloud Storage (which needs the paid plan) is required. |
| Frames | 20 per jam, like the original. |
index.html Join page + teacher sign-in
board.html The whiteboard
dashboard.html Teacher dashboard
css/ cyberspesh.css (design system v3) + app.css
js/ board.js, dashboard.js, join.js, db.js (Firebase / demo), jams.js, render.js,
textfit.js, export.js (PDF/PNG), fonts.js, model.js, ui.js, util.js, icons.js, theme.js
database.rules.json Realtime Database security rules
vercel.json Clean URLs + security headers (CSP)
docs/ Project plan, build guide, user manual
python3 -m http.server).USE_EMULATORS = true in js/firebase-config.js (auth on 9099, database on 9000).js/firebase-config.js (FIREBASE_SDK_VERSION). If you change it, also allow it in vercel.json's CSP if the host changes.Connect the website to Firebase. Click the gear (top left) → Project settings → General → scroll to Your apps → click the </> (Web) icon → nickname SpaceJam → leave Hosting unchecked → Register app. Copy these five values from the firebaseConfig it shows into js/firebase-config.js:
apiKey, authDomain, databaseURL, projectId, appId.
(These values are public by design. Security comes from the rules in step 5.)
Deploy. Commit and push to main. Vercel redeploys automatically. Open the site: the "Local demo mode" banner is gone, and Teacher sign-in now opens Google.