A flashcard-based learning application built with TypeScript, React, and Vite. Uses hash-based routing for GitHub Pages compatibility.
🔗 Demo: https://usamasadiq.github.io/projects/flashmaster/
npm install
npm run devnpm install
npm run buildThis application is configured to deploy to usamasadiq.github.io/projects/flashmaster/ with hash-based routing to avoid 404 errors on GitHub Pages.
-
Set up GitHub PAT:
- Create a Personal Access Token with
repopermissions - Add it as a secret named
GH_PATin this repository (Settings → Secrets and variables → Actions)
- Create a Personal Access Token with
-
Deploy:
- Push your code to this repository's main branch
- The GitHub Action will automatically build and deploy to
usamasadiq.github.io/projects/flashmaster/
- Build the project:
npm run build - Copy the contents of the
dist/directory toprojects/flashmaster/in theusamasadiq.github.iorepository - Commit and push the changes to the
usamasadiq.github.iorepository
- Base Path: Set to
/projects/flashmaster/invite.config.tsfor the target deployment location - Routing: Uses hash-based routing (
#/flashcard/javascript) to avoid GitHub Pages 404 errors - Target Repository:
usamasadiq/usamasadiq.github.io - Target Path:
projects/flashmaster/ - Live URL:
https://usamasadiq.github.io/projects/flashmaster/
- Interactive flashcard learning system with hash-based routing for GitHub Pages compatibility
- Static data loading from JSON files (no backend required)
- Multiple technology categories (HTML/CSS, JavaScript, React, TypeScript, Python, Node.js)
- Progress tracking
- Responsive design
- Built with modern web technologies
- Hash routing ensures proper navigation on GitHub Pages (routes like
#/flashcard/javascript) - Fully client-side application suitable for static hosting