Files
Yamen Ahmad 907a5c0e92 feat(v3): restructure project + add complete frontend
- Restructure: move backend from new_project/ to backend/
- Add full React/TypeScript frontend (37 pages, 17 services, 16 type defs, 11 query hooks)
- Add docs/ with SRS specs, user stories, and workflow documentation
- Update .gitignore for new directory layout

Workflows implemented:
  WF1 User Signup, WF2 Placement Test, WF3 Exam Configuration,
  WF4 General English Exam, WF5 Course Generation,
  WF6 Entity Student Onboarding, AI Course Generation,
  Adaptive Learning Engine UI, White-Label Branding, Score Release

Made-with: Cursor
2026-04-10 17:26:42 +04:00

29 lines
1017 B
Python

from odoo import models, fields
class EncoachCatSession(models.Model):
_name = 'encoach.cat.session'
_description = 'CAT Placement Session'
student_id = fields.Many2one('res.users', required=True, ondelete='cascade', index=True)
subject_id = fields.Many2one('encoach.subject', ondelete='set null')
started_at = fields.Datetime(default=fields.Datetime.now)
completed_at = fields.Datetime()
status = fields.Selection([
('active', 'Active'),
('completed', 'Completed'),
('abandoned', 'Abandoned'),
], default='active', required=True)
current_section = fields.Selection([
('listening', 'Listening'),
('reading', 'Reading'),
('writing', 'Writing'),
('speaking', 'Speaking'),
('grammar', 'Grammar'),
('vocabulary', 'Vocabulary'),
])
current_theta = fields.Float(default=0.0)
current_sem = fields.Float(default=1.0)
questions_answered = fields.Integer(default=0)
autosave_data = fields.Text()