Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MCCQE1 Tutor

A comprehensive adaptive learning platform for MCCQE1 (Medical Council of Canada Qualifying Examination Part 1) preparation.

πŸš€ Live Demo

URL: http://localhost:3001 (or check your terminal for the actual port)

βœ… Features Implemented

Core Features

  • 50+ Practice Questions across all MCCQE1 subjects
  • Adaptive Learning with spaced repetition algorithm (SM-2 variant)
  • Real-time Progress Tracking with detailed analytics
  • Exam Simulation with timed practice sessions
  • Subject Filtering to focus on specific areas
  • Comprehensive Dashboard with performance metrics

Authentication (Demo Mode)

  • Login/Register pages
  • Demo account: demo@mccqe1.com / demo123
  • Session management (ready for production database)

Question Bank Coverage

Medicine (28 questions)

  • Cardiology (8 questions): MI, arrhythmias, valvular disease, ECG interpretation
  • Endocrinology (10 questions): Diabetes, thyroid disorders, adrenal issues, pituitary tumors
  • Respiratory (6 questions): COPD, pneumonia, pneumothorax, asthma
  • Gastroenterology (6 questions): Ulcers, cholangitis, IBD, liver disease
  • Neurology (6 questions): Stroke, MS, Parkinson's, meningitis
  • Psychiatry (5 questions): Depression, bipolar, OCD, schizophrenia
  • Infectious Diseases (6 questions): Pneumonia, STIs, meningitis, travel medicine
  • Dermatology (4 questions): Skin cancers, infections, autoimmune
  • Ophthalmology (3 questions): Retinal issues, glaucoma
  • Otolaryngology (3 questions): Hearing loss, abscesses, cancer
  • Rheumatology (3 questions): RA, gout, SjΓΆgren's
  • Hematology (3 questions): Leukemias, anemias
  • Nephrology (3 questions): Glomerular disease, CKD

Surgery (6 questions)

  • General Surgery (4 questions): Appendicitis, hernia, gallstones, breast cancer
  • Vascular Surgery (1 question): AAA
  • Urology (1 question): Testicular torsion

Pediatrics (6 questions)

  • Infectious Diseases (1 question): Strep throat
  • Respiratory (1 question): Croup
  • Gastroenterology (1 question): Rotavirus
  • Nephrology (1 question): Nephrotic syndrome
  • Cardiology (1 question): Kawasaki disease
  • Surgery (1 question): Bilious vomiting

Obstetrics & Gynecology (6 questions)

  • Obstetrics (3 questions): Placental abruption, preeclampsia
  • Gynecology (3 questions): Endometrial cancer, endometriosis, PID

πŸ“ Project Structure

mccqe1-tutor/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ layout.tsx          # Root layout
β”‚   β”‚   β”œβ”€β”€ page.tsx            # Home page
β”‚   β”‚   β”œβ”€β”€ login/              # Login page
β”‚   β”‚   β”œβ”€β”€ register/           # Register page
β”‚   β”‚   β”œβ”€β”€ practice/           # Practice session page
β”‚   β”‚   β”œβ”€β”€ dashboard/          # Dashboard page
β”‚   β”‚   └── api/
β”‚   β”‚       β”œβ”€β”€ auth/           # NextAuth API routes
β”‚   β”‚       └── register/       # Registration API
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ QuestionCard.tsx    # Question display component
β”‚   β”‚   β”œβ”€β”€ ProgressTracker.tsx # Progress tracking component
β”‚   β”‚   └── SessionProvider.tsx # Auth session provider
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ auth.ts             # Authentication logic
β”‚   β”‚   β”œβ”€β”€ prisma.ts           # Prisma client
β”‚   β”‚   └── questionBank.ts     # 50+ questions + algorithms
β”‚   └── types/
β”‚       └── index.ts            # Type definitions
β”œβ”€β”€ prisma/
β”‚   └── schema.prisma           # Database schema
β”œβ”€β”€ public/                     # Static assets
└── package.json

πŸ› οΈ Tech Stack

  • Frontend: Next.js 16 (App Router) with TypeScript
  • Styling: Tailwind CSS
  • Database: PostgreSQL with Prisma ORM
  • Authentication: NextAuth.js (with Credentials provider)
  • Hosting: Vercel (recommended)

πŸ“¦ Installation

Prerequisites

  • Node.js 18+
  • PostgreSQL database (local or cloud)

Setup Steps

  1. Clone and install dependencies:
cd mccqe1-tutor
npm install
  1. Set up database:
# Option 1: Local PostgreSQL
createdb mccqe1_tutor

# Option 2: Prisma Postgres (free)
npx prisma dev
  1. Configure environment:
# Update .env with your database URL
DATABASE_URL=postgresql://localhost:5432/mccqe1_tutor
  1. Run migrations:
npx prisma migrate dev
  1. Seed the question bank:
npx prisma db seed
  1. Start development server:
npm run dev

Visit http://localhost:3001 (or the port shown in terminal).

🎯 Usage

Practice Mode

  1. Navigate to /practice
  2. Filter questions by subject (optional)
  3. Answer questions one by one
  4. Review explanations after each answer
  5. Track your progress in real-time

Dashboard

  • View overall accuracy and statistics
  • See performance by subject category
  • Identify weak areas for focused study
  • Track study streak and progress

Demo Account

  • Email: demo@mccqe1.com
  • Password: demo123

πŸ“Š Database Schema

Models

  • User: User accounts and profile data
  • Account: OAuth/credentials account data
  • Session: User sessions
  • Question: MCCQE1 questions with metadata
  • StudyPlan: Adaptive study plans
  • Progress: Daily progress tracking
  • UserSession: Practice session history
  • ExamResult: Mock exam results

🧠 Algorithms

Spaced Repetition (SM-2 Variant)

The app uses a modified SM-2 algorithm to schedule question reviews:

  • Quality score (0-5) determines next review interval
  • Ease factor adjusts based on performance
  • Repetitions counter tracks mastery level

Adaptive Learning

  • Tracks performance by category
  • Identifies weak areas (< 60% accuracy)
  • Suggests focus areas for study plans

πŸ’° Revenue Model (Future)

Subscription Tiers

  • Free: 50 questions/month, basic progress tracking
  • Pro ($19/month): Unlimited questions, detailed analytics, mock exams
  • Premium ($39/month): All Pro features + personalized study plans, tutor support

One-time Packs

  • Exam Simulation Pack ($29): 5 full-length mock exams
  • Question Bank Access ($49): Complete question bank (1000+ questions)

🎯 Target Market

  • Medical students preparing for MCCQE1
  • International medical graduates (IMGs)
  • Residents needing re-certification
  • Continuing medical education (CME)

πŸ“ˆ Next Steps

Phase 2 (MVP Enhancement)

  • Connect to real PostgreSQL database
  • Implement full NextAuth.js with OAuth providers
  • Add Stripe payment integration
  • Expand question bank to 1000+ questions
  • Implement spaced repetition scheduling
  • Add exam simulation mode with timer

Phase 3 (Scaling)

  • Admin panel for question management
  • AI-powered explanations
  • Mobile app (React Native)
  • Community features (forums, study groups)
  • Integration with medical textbooks/resources

Phase 4 (Monetization)

  • Subscription tiers
  • Exam simulation packs
  • Tutor matching service
  • Corporate partnerships (medical schools)

πŸš€ Deployment

Vercel (Recommended)

npm install -g vercel
vercel

Other Options

  • Netlify: Connect GitHub repo
  • AWS: Use Amplify or ECS
  • DigitalOcean: App Platform

πŸ“ License

MIT License - feel free to use and modify for your needs.

🀝 Contributing

Contributions are welcome! Please open an issue or submit a PR.

πŸ“§ Contact

For questions or feedback, please open an issue on GitHub.


Note: This is a demo application. All questions are for educational purposes only and should be verified against official MCCQE1 materials.

About

Adaptive learning platform for MCCQE1 preparation with 50+ questions, spaced repetition, and exam simulation

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages