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

187 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 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
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
```bash
cd /Volumes/data/tutor_system/exam_system
docker-compose ps
```
### View Logs
```bash
docker-compose logs exam_web # Frontend logs
docker-compose logs exam_server # Backend logs
docker-compose logs nginx # Nginx logs
```
### Restart Services
```bash
docker-compose restart # Restart all
docker-compose restart exam_web # Restart frontend only
```
### Stop/Start
```bash
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
```bash
docker-compose logs exam_web
# Look for "✔ Compiled successfully"
```
### API Not Responding
```bash
docker-compose logs exam_server
# Check for gunicorn startup messages
```
### Port Already in Use
```bash
# 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! 🎉**