4.9 KiB
4.9 KiB
🚀 Quick Start Guide
✅ System is Running!
Your exam system is fully operational with all the new features enabled.
🌐 Access Points
- Frontend UI: http://localhost (Port 80)
- Backend API: http://localhost/api/
- Angular Dev Server: Running on port 4200 (internal)
- Django Server: Running on port 8000 (internal)
📝 Available Exams
- python-easy-v1 - 10 questions (original easy exam)
- python-intermediate-v1 - 50 questions (intermediate level)
- 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
- Test the new exam with all question types
- Try the IDK option on different question types
- Submit and check results to see partial credit scoring
- Retake the exam to test the reset functionality
- View exam history to see all your attempts
📚 Additional Documentation
- See
MULTIPLE_CHOICES_AND_IDK_IMPLEMENTATION.mdfor implementation details - See
NEW_EXAM_CREATED.mdfor new exam specifications - See
FINAL_GUIDE.mdfor overall system guide
All systems ready! Have fun testing! 🎉