feat: complete exam lifecycle — AI generation, submission, student session, and results
- Backend: AI generation fallbacks when OpenAI not configured, full exam submission saving all params (difficulty, rubric, entity, grading system, approval workflow) and creating linked question records per section - Backend: new exam session controller with get_session, autosave, submit, status, and results endpoints; student attempt/answer/score models - Backend: new controllers for entities, approval workflows, exam schedules - Frontend: exam session split-layout with passage panel, question types (MCQ, T/F/NG, gap-fill, writing, speaking), timer, and review dialog - Frontend: results page with percentage score, per-answer breakdown table - Frontend: generation page dynamic dropdowns, full payload submission - Frontend: updated types for ExamSessionSection, ExamQuestion options Made-with: Cursor
This commit is contained in:
@@ -1,2 +1,3 @@
|
||||
from . import ai_settings
|
||||
from . import ai_log
|
||||
from . import constants
|
||||
|
||||
13
custom_addons/encoach_ai/models/constants.py
Normal file
13
custom_addons/encoach_ai/models/constants.py
Normal file
@@ -0,0 +1,13 @@
|
||||
CEFR_LEVELS = ['A1', 'A2', 'B1', 'B2', 'C1', 'C2']
|
||||
|
||||
GPT_MODELS = {
|
||||
'default': 'gpt-4o',
|
||||
'fast': 'gpt-4o-mini',
|
||||
}
|
||||
|
||||
TEMPERATURE = 0.7
|
||||
|
||||
TOPICS = [
|
||||
'Education', 'Technology', 'Health', 'Environment', 'Culture',
|
||||
'Travel', 'Science', 'Business', 'Sports', 'Society',
|
||||
]
|
||||
Reference in New Issue
Block a user