Past Question Manager is a self-hosted, local web application designed to help students organize, manage, and study past exam questions effectively. Unlike simple image galleries, PQM focuses on active recall and structured study.
- Smart Dashboard: Overview of stats, recent activity, and unsolved questions.
- Customizable Sidebar: Edit course details and drag & drop to reorder your sidebar.
- Continuous Question Flow: Grouped image/text parts for a single-document feel.
- Alternative Solutions: Support for multiple solutions per question with Tabbed Navigation.
- Gallery Uploader: Drag & drop or paste multiple images at once for both questions and solutions.
- Active Recall: Solutions hidden by default.
- Rich Content: Markdown support for notes and references.
- Organization: Course-based structure with robust Tagging and Search.
- Frontend: React (Vite), Tailwind CSS.
- Backend: Node.js, Express, SQLite (better-sqlite3).
- Logging: Morgan & custom JSON logger.
- Testing: Vitest (Frontend), Jest & Supertest (Backend).
- Storage: Local file system.
Run the installer for your operating system:
- Linux:
./install-linux.sh - macOS:
./install-mac.sh - Windows: Double-click
install.bat
- Linux/macOS:
./start.sh - Windows: Double-click
start-windows.bat
Open Browser: http://localhost:5173
You can export your question bank as a static site that can be hosted on GitHub Pages or any static hosting service.
- Build the site:
./build.sh --base /your-repo-name/
- Deploy: Upload the contents of
client/distto your hosting provider.
Note: The static version is Read-Only. Adding or editing questions requires running the full application locally.
Maintain quality by running the automated test suites:
- Backend:
cd server && npm test - Frontend:
cd client && npm test