A modern Electron-based desktop application for downloading CAIE (Cambridge Assessment International Education) past papers.
- 📚 Smart Search - Download past papers by subject code, session, year, and paper number
- ⬇️ Automatic Downloads - Downloads both Question Papers and Mark Schemes automatically
- 📂 Organized Storage - Files saved to
Downloads/starpapers/folder - 🖼️ Full Screen PDF Viewer - Built-in PDF viewer with full screen support
- 🎨 Modern UI - Clean, responsive design based on shadcn/ui principles
- 🔧 Cross-Platform - Works on Windows, macOS, and Linux
- Search: Navigate to the Search page
- Enter Details:
- Subject Code (e.g., 9701)
- Session (May-June or Oct-Nov)
- Year (e.g., 2025)
- Paper Number (e.g., 1, 2, 3)
- Download: Click "Download Paper" to get both Question Paper and Mark Scheme
- View Files: Navigate to Downloads page to view and organize your papers
- Node.js (v18 or higher)
- Bun (recommended) or npm
# Clone the repository
git clone <repository-url>
cd past
# Install dependencies
bun install
# Run the application
bun run startbun run start # Build and start the app
bun run build # Build TypeScript to JavaScriptpast/
├── main.ts # Main Electron process
├── preload.js # Preload script for secure IPC
├── renderer.js # Frontend logic
├── index.html # Main HTML file
├── styles.css # Application styles
├── package.json # Dependencies and scripts
└── tsconfig.json # TypeScript configuration
- Downloads both Question Paper (qp) and Mark Scheme (ms) automatically
- Uses 2-digit year format (e.g., 25 for 2025)
- Session mapping: s for May-June, w for Oct-Nov
- Files saved with format:
{subjectCode}_{session}{year}_{type}_{paperNum}.pdf
Downloaded files are automatically organized by:
- Subject > Year > Month > Paper Number
- Both Question Papers and Mark Schemes displayed under each paper
- Full screen PDF viewing
- Close button and Escape key support
- Clean, distraction-free interface
MIT License
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
For issues and feature requests, please create an issue in the repository.# starpapers