An interactive educational tool for 9th grade Cryptography classes. Simulates the Ancient Spartan Scytale cipher with a 3D visualizer.
- Interactive Scytale Stick: Adjust diameter (faces) and drag to rotate.
- Encode / Decode Modes: Real-time visualization of the wrapping process.
- Challenge Mode: A built-in puzzle for students to solve (decrypting a message) to earn a certificate.
- Certificate: Downloadable result for grading.
- Install dependencies:
npm install
- Start the dev server:
npm run dev
- Open the URL provided (usually
http://localhost:5173).
-
Build the project:
npm run build
-
This creates a
distfolder. -
Commit everything to your GitHub repository.
-
Option A (Manual): Run a deployment command if you have
gh-pagespackage set up (not included by default to keep it simple).Option B (Easy):
- Go to your GitHub Repository Settings.
- Go to Pages.
- Select the Source as GitHub Actions (if using a workflow) OR simply build locally and upload the contents of
distto agh-pagesbranch.
Recommended for this setup:
- Push your code to GitHub.
- In GitHub Repositories, go to Settings > Pages.
- Choose "Deploy from branch".
- Select
main(ormaster) branch and/folder IF you haven't built it? No, raw source won't work without build.
Better approach:
- Push the
distfolder contents (force add if ignored) to agh-pagesbranch.
Or, since this is a simple Vite app, configure GitHub Actions to build and deploy.
- Open the simulation.
- Click "How it Works" to learn.
- Use the "Challenge Mode" button to access the assignment.
- Solve the cipher "STESOCA__OYLICL" using the hint (3 faces).
- Enter the decoded message ("SCYTALE_IS_COOL") to download your completion certificate.