Interactive BB84 quantum key distribution simulator with 3D photon visualization, analytics, and theory walkthroughs.
- 3D BB84 simulation flow (Alice -> Bob, optional Eve interception)
- Real-time photon and basis behavior visualization
- Key generation metrics and error-rate analytics
- Step-by-step learning mode for protocol understanding
- Theory page explaining BB84 concepts and protocol steps
- React 18 + TypeScript
- Vite 5
- Tailwind CSS + shadcn/ui (Radix UI)
- React Router (
HashRouter) - React Three Fiber / Drei / Three.js for 3D rendering
/#/-> Home page/#/theory-> BB84 theory and protocol explanation/#/simulation-> Interactive simulator
- Node.js 18+ (recommended)
- npm 9+ (or compatible package manager)
git clone https://github.com/Gowreesh-VT/qbbit-explorer.git
cd qbbit-explorer
npm installnpm run devBy default, Vite is configured to run on:
http://localhost:8080
npm run buildnpm run previewnpm run lintnpm run dev- start Vite development servernpm run build- build production bundle intodist/npm run build:dev- build using development modenpm run preview- previewdist/locallynpm run lint- run ESLintnpm run predeploy- build before deploymentnpm run deploy- deploydist/to GitHub Pages viagh-pages
This repository includes two deployment-oriented configurations:
- GitHub Pages deployment script via
gh-pages(npm run deploy) - Firebase Hosting config in
firebase.json(serves fromdist/with SPA rewrite)
If deploying to Firebase, build first and deploy with Firebase CLI (for example: firebase deploy).
src/
App.tsx # Router and app-level providers
contexts/SimulationContext.tsx
hooks/useBB84Simulation.ts
pages/
Home.tsx
Theory.tsx
Simulation.tsx
components/simulation/ # 3D scene + analytics + step mode UI
- Fork the repository.
- Create a feature branch.
- Make your changes.
- Run
npm run lintandnpm run build. - Open a pull request.
No license file is currently present in this repository.