Practice Exam Studio is a powerful, local-first web application designed to help you master any subject. Create question banks, generate questions from text or images using AI, and simulate real exam environments with detailed tracking and history.
- AI-Powered Parsing: Paste text or upload images/PDFs to automatically generate formatted questions using Google Gemini.
- Flexible Question Types: Supports Single Choice, Multiple Choice, Dropdowns (Hot Area), and Drag & Drop.
- Exam Simulation: Take exams with randomized options, flags, and immediate or delayed feedback.
- History & Analytics: Track your scores and review past performance.
- Local Storage: All data is saved locally in your browser—no external database required.
Before running this application, you must have Node.js installed.
- Get Node.js: Go to nodejs.org and download the "LTS" (Long Term Support) version for your operating system.
- Get an API Key (Optional): Required only if you want to generate questions using AI. See the section below.
To use the AI features (like generating questions from images or text), this application requires a Gemini API Key. You can obtain this key for free via the Google AI Studio dashboard.
Note: If you only plan to manually create questions or import existing JSON files, you can skip this step.
- Get the Key: Visit the Google AI Studio API Key Manager.
- Sign in with your Google account.
- Click "Create API key".
- Select "Create API key in new project" (or use an existing project).
- Copy the key string (it starts with
AIza...).
- Download the Code:
- If you downloaded a ZIP: Right-click the zip file and select "Extract All".
- If using Git: Open Git Bash (recommended) or Command Prompt and run:
git clone https://github.com/jdm6457/PracticeExamStudio.git
- Open the Terminal:
- Open the folder where you extracted/cloned the files.
- Click the address bar at the top of the folder window, type
cmd, and press Enter.
- Install Dependencies:
- Type the following command and press Enter:
npm install
- Type the following command and press Enter:
- Download the Code:
- Download and unzip the file, or use
git clone https://github.com/jdm6457/PracticeExamStudio.git.
- Download and unzip the file, or use
- Open Terminal:
- Open your Terminal app.
- Navigate to the project folder:
cd path/to/PracticeExamStudio
- Install Dependencies:
- Run the command:
npm install
- Run the command:
To enable the AI features, you must save your API Key in a configuration file.
- In the project root folder (where
package.jsonis), create a new file named.env. - Open this file with a text editor (Notepad, TextEdit, VS Code).
- Paste your API key in this format:
API_KEY=AIzaSyYourActualApiKeyGoesHere
- Save the file.
Once installed, you can start the app.
- In your terminal/command prompt, run:
npm start
- The terminal will show a local address (usually
http://localhost:3000). - Open your web browser and visit that address.
Note on Data: Your Question Banks and History are saved automatically to your browser's internal database (IndexedDB). You can close the server or restart your computer, and your data will persist.
- "npm is not recognized" (Windows) or "zsh: command not found: npm" (macOS): This means Node.js isn't installed. Download and install it from nodejs.org, then restart your terminal.
- AI features aren't working: Double-check your
.envfile. Ensure there are no spaces around the=sign and that the file is named exactly.env(not.env.txt). - Port already in use: If the terminal says the port is busy, press
Y(Yes) to run on a different port. - Blank Screen on Windows: Ensure you ran
npm installsuccessfully. Check the browser console (F12) for errors. - Firewall Popup: On Windows, allow Node.js to communicate on Private networks if prompted.
This project is licensed under the MIT License - see the LICENSE.txt file for details.