ExamQuest is a high-performance, asynchronous platform designed for the modern-day student. It streamlines the retrieval of past exam papers for Cambridge (CAIE) and Edexcel boards through a stunning, interactive web dashboard. With context-aware filtering, parallelized scraping, and automated merging, it transforms the tedious process of finding papers into a seamless experience.
- Luxury UI: Multi-layered glassmorphism and smooth animations.
- Specialized Icons: Handcrafted SVGs for major subjects (Physics, Chemistry, Math, etc.).
- Context-Aware Search: Instantly find subjects by name or code, or search for specific papers, years, and mark schemes within a subject.
- Favorites: Star your most-used subjects for instant access.
- Mass Download & Merge: Download multiple years at once or merge them into a single PDF with one click.
- For advanced users who prefer the command line.
- Same robust scraping logic with columnar subject displays.
Ensure these are installed before running:
| Requirement | Version | Download |
|---|---|---|
| Python | 3.10+ | python.org |
| Node.js | 18+ | nodejs.org |
Tip
On Windows, check "Add Python to PATH" during installation.
Verify your setup:
python3 --version # or `python --version` on Windows
node --versionThe fastest way to get started is using the integrated runner script:
-
Clone the repo:
git clone https://github.com/fam007e/examquest.git cd examquest -
Run the Interactive Dashboard (Web):
python run_app.py
This script automatically creates a Virtual Environment (.venv), installs all dependencies, and launches the app. This avoids "Externally Managed Environment" errors found on Arch, Fedora, etc.
-
Run the Legacy CLI:
python o_and_a_lv_qp_sdl.py
For advanced users who prefer a terminal-based interface.
/backend: FastAPI service handling the scraper logic and PDF processing./frontend: Vite + React dashboard with Tailwind CSS and Framer Motion.o_and_a_lv_qp_sdl.py: The original standalone CLI script.run_app.py: The unified automation runner.
We follow standard GitHub community guidelines:
- CONTRIBUTING.md: Guidelines on how to contribute features or report bugs.
- CODE_OF_CONDUCT.md: Our pledge to a welcoming community.
- SECURITY.md: How to report security vulnerabilities.
This project is licensed under the MIT License - see the LICENSE file for details.
Please use this tool responsibly. The backend uses asynchronous requests with built-in "politeness" features (rate-limiting, jitter, and User-Agent rotation) to avoid overwhelming source websites. Respect Xtremepapers and Papacambridge; this tool is designed for educational purposes only.