Files
lnet_tutor/exam_system/QUICK_START.md
2025-10-22 20:14:31 +08:00

4.9 KiB
Raw Permalink Blame History

🚀 Quick Start Guide

System is Running!

Your exam system is fully operational with all the new features enabled.

🌐 Access Points

📝 Available Exams

  1. python-easy-v1 - 10 questions (original easy exam)
  2. python-intermediate-v1 - 50 questions (intermediate level)
  3. python-easy-15q-v1 NEW - 15 questions with new features:
    • 6 × single_choice
    • 5 × true_false
    • 4 × multiple_choices (NEW TYPE!)
    • All questions have "I Don't Know" option

🎯 Test the New Features

1. Register/Login

  • Go to http://localhost
  • Create a new account or login
  • All previous user data has been cleared

2. Select the New Exam

  • Choose "Python Fundamentals - Easy Level (15 Questions)"
  • Click "Start Exam"

3. Test Multiple Choices Questions

  • Look for questions that say "Select all that apply"
  • You can select multiple checkboxes
  • Try selecting correct and wrong answers to see partial credit in action

4. Test "I Don't Know" Option

  • Every question has an "I Don't Know" option at the bottom
  • It's separated by a line and styled in italic gray text
  • For multiple_choices: Selecting IDK clears all other selections
  • For single_choice/true_false: Just another radio option

5. Submit and View Results

  • Submit the exam to see automatic scoring
  • Results page shows:
    • All options with color coding
    • Green = correct answer
    • Blue = your selection
    • Red = wrong selection
    • Yellow box if you selected "I Don't Know"
    • Partial credit scores for multiple_choices

🎨 Visual Features

Multiple Choices UI

Select all that apply:
☐ A. Option A
☐ B. Option B  
☐ C. Option C
─────────────────
☐ ? I don't know

"I Don't Know" Option

  • Gray italic text
  • Separated by a border line
  • Question mark icon (?)

Result Display

  • Correct answer: Green border, light green background
  • Your correct selection: Thicker green border, badge "✓ Your Selection (Correct!)"
  • Your wrong selection: Red border, red background, badge "✗ Wrong Selection"
  • IDK selected: Yellow background notice box

📊 Scoring

Single Choice / True-False

  • Correct answer: Full points
  • Wrong answer: 0 points
  • "I don't know": 0 points (no penalty)

Multiple Choices (Partial Credit)

  • Formula: (correct_selected - wrong_selected) / total_correct × points
  • Example (3 correct answers, 10 points):
    • Select all 3 correct: 10 points
    • Select 2 correct, 0 wrong: 6.67 points
    • Select 2 correct, 1 wrong: 3.33 points
    • Select "I don't know": 0 points
  • Minimum score is 0 (never negative)

🔧 Docker Management

Check Status

cd /Volumes/data/tutor_system/exam_system
docker-compose ps

View Logs

docker-compose logs exam_web    # Frontend logs
docker-compose logs exam_server # Backend logs
docker-compose logs nginx       # Nginx logs

Restart Services

docker-compose restart          # Restart all
docker-compose restart exam_web # Restart frontend only

Stop/Start

docker-compose down             # Stop all containers
docker-compose up -d            # Start all containers
docker-compose up --build -d    # Rebuild and start

📂 File Locations

Exam Definitions

/Volumes/data/tutor_system/exam_system/data/input/python/2025-10/
├── python-easy-v1.json
├── python-intermediate-v1.json
└── python-easy-15q-v1.json ⭐ NEW

Manifest

/Volumes/data/tutor_system/exam_system/data/manifest.json

Documentation

/Volumes/data/tutor_system/docs/exam-format.md
/Volumes/data/tutor_system/docs/multiple-choices-and-idk.md
/Volumes/data/tutor_system/exam_system/MULTIPLE_CHOICES_AND_IDK_IMPLEMENTATION.md

🐛 Troubleshooting

"Cannot GET /" Error

  • Fixed! - This was due to TypeScript compilation errors
  • Angular app is now compiled successfully

Angular Not Compiling

docker-compose logs exam_web
# Look for "✔ Compiled successfully"

API Not Responding

docker-compose logs exam_server
# Check for gunicorn startup messages

Port Already in Use

# If port 80 is already in use:
# 1. Stop the conflicting service
# 2. Or modify docker-compose.yml to use different ports

🎓 Next Steps

  1. Test the new exam with all question types
  2. Try the IDK option on different question types
  3. Submit and check results to see partial credit scoring
  4. Retake the exam to test the reset functionality
  5. View exam history to see all your attempts

📚 Additional Documentation

  • See MULTIPLE_CHOICES_AND_IDK_IMPLEMENTATION.md for implementation details
  • See NEW_EXAM_CREATED.md for new exam specifications
  • See FINAL_GUIDE.md for overall system guide

All systems ready! Have fun testing! 🎉