TutorLoom
The learning platform for companies, colleges and training institutes. Free and open source, with an Enterprise edition.
NursePrep is a PNLE review companion for nursing students in the Philippines: 3,200+ practice questions with rationales, flashcards, your own decks and progress tracking.
EducationJavaScript · CSSGitHub @navinskyyOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A personalized PNLE review platform with adaptive quizzes, flashcards, progress tracking, and AI-powered explanations.
Taken from the repository README
Loading the full README.
Read the full README ↗A personalized Philippine Nurse Licensure Examination (PNLE) review platform with adaptive quizzes, flashcards, progress tracking, and AI-powered explanations.
NursePrep is a web-based study companion built for Filipino nursing graduates preparing for the PNLE. It combines timed adaptive quizzes, spaced-repetition flashcards, performance analytics, and an AI tutor into a single, focused study environment.
public/data/quiz.json, public/data/quiz-catalog.json)NursePrep/
├── index.html # Landing page
├── login.html / register.html
├── dashboard.html # Main study hub
├── quiz.html # Adaptive quiz runner (with timer)
├── review.html # Review-mistakes runner
├── flashcards.html # Spaced-repetition flashcards
├── analytics.html # Performance dashboard
├── leaderboard.html
├── profile.html
├── settings.html # Question timer & daily goal
├── subjects.html # Topic catalog
├── js/ # Page-specific logic
│ ├── quiz.js # Quiz + timer engine
│ ├── review.js # Review-mistakes runner
│ ├── dashboard.js # Daily goal sync
│ ├── settings.js # Settings → Firestore mirror
│ └── ...
├── css/ # Per-page and global styles
├── utils/utils.js # Shared helpers (settings, audio, etc.)
├── public/data/ # Question bank
└── dist/ # Production build output
npm install
npm run dev
npm run build
The compiled assets land in dist/.
Each question has a configurable countdown timer (default 60s). The timer is defined in Settings and synced to your profile, so it stays consistent between sessions and devices.
idle → running → timeout / answeredtimer role, live time updates throttled to 250ms, honors prefers-reduced-motionutils/utils.js → DEFAULT_SETTINGS.questionTimerSettings → Question Timer defaults to 60s, is stored on the user's Firestore doc, and is picked up live by the dashboard and quiz.storage / pageshow / visibilitychange events.onclick <div>s to real <button role="radio"> elements with event delegation, proper focus / hover / keyboard states, skeleton loaders, and a feedback panel showing your answer, the correct answer, and the rationale.data-state / aria-label wiring, and reduced-motion handling.quiz.js referenced a submitBtn element that was removed from the markup, throwing a TypeError and preventing startTimer() from ever running. All three references are now guarded.playTone helper.dist/) refreshed.git checkout -b feature/awesome)MIT — see LICENSE if present.