MedMCQA Trainer is an offline, modular, Progressive Web App (PWA) designed to help medical students practice Multiple Choice Questions (MCQs) for entrance exams like NEET PG. It supports parsing MedMCQA format JSON datasets completely client-side.
- 100% Offline & Private: Once the app loads, you can use it fully offline. The dataset is cached locally in your browser using IndexedDB.
- Learning Modes:
- Practice: Unlimited practice with smart algorithms targeting your weakest and unseen subjects.
- Lite: Timed mock sessions with instant feedback.
- Exam: A simulation of the 200-question NEET PG exam over 210 minutes with realistic subject weighting (+4/-1 scoring).
- Custom Decks & Bookmarks: Organize specific questions into playlists or bookmark difficult ones.
- Import/Export: Export your local progress statistics as a JSON file to easily track or sync between devices.
- Mobile Friendly: The app is fully responsive, touch-friendly, and accessible on all devices.
This app is built with pure HTML, CSS, and Vanilla JS, requiring no build steps.
-
Clone the repository:
git clone https://github.com/yourusername/medmcq-trainer.git cd medmcq-trainer -
Serve the app locally: You can use any local web server. For example, with Python:
python -m http.server 8000
Or with Node.js
servepackage:npx serve . -
Open the App: Navigate to
http://localhost:8000(or the port specified by your server).
This application parses MedMCQA format JSON files. The dataset is not included in this repository.
To download the latest MedMCQA dataset, please visit the official Google Drive link provided in the original repository: MedMCQA Data Download Link
Once downloaded, simply drag and drop the .json file into the app's Welcome Screen to get started.
Because this app utilizes a ServiceWorker and a Manifest, it can be installed on your desktop or mobile device. Simply open the app in a supported browser (e.g., Chrome, Safari) and select "Install App" or "Add to Home Screen".
Contributions are welcome! Please feel free to submit a Pull Request.
See LICENSE for more information.