# EnCoach -- UTAS System Scope Definition

**Date:** March 16, 2026
**Project:** EnCoach University Deployment for UTAS

---

## Core Modules

### 1. Learning Management System (LMS)

| Item | Detail |
|------|--------|
| **Engine** | OpenEduCat (Odoo 19 native modules) |
| **Frontend** | React 18 SPA -- student, teacher, and admin portals (50+ pages built) |
| **Capabilities** | Course catalog and enrollment, batch/cohort management, timetable scheduling, attendance tracking, gradebook, academic reporting |
| **Integration** | REST API bridge between OpenEduCat models and React frontend |
| **Subjects** | English Self Learning, Mathematics, Information Technology (extensible) |

### 2. Exam Portal

| Item | Detail |
|------|--------|
| **Exam Types** | Reading, Listening, Writing, Speaking, Level Test, Math, IT |
| **AI Generation** | GPT-4o generates exam content per subject and difficulty level |
| **AI Grading** | Automated grading for writing (GPT-4o + IELTS rubric), speaking (Whisper STT + GPT-4o), MCQ, short answer, numerical |
| **AI Detection** | GPTZero flags AI-generated student submissions |
| **Media** | AWS Polly TTS for listening audio, ELAI avatars for speaking video |
| **Workflow** | Exam creation, review, approval, assignment, timed sessions, grading, results |
| **Roles** | Admin creates/approves, teacher assigns, student takes, system grades |

### 3. Student Onboarding

| Item | Detail |
|------|--------|
| **Registration** | Self-registration or bulk import (CSV/batch) by admin |
| **SIS Sync** | Automatic student provisioning from UTAS Student Information System |
| **Enrollment** | Assignment to courses, batches, and classrooms upon registration |
| **Verification** | Email verification, registration code validation |
| **Roles** | Student, teacher, admin -- role-based access from first login |

### 4. Knowledge Base

| Item | Detail |
|------|--------|
| **Training Tips** | 80+ categorized tips (reading, writing, strategy, vocabulary, grammar) with FAISS semantic search |
| **Personalization** | After each exam, GPT analyzes performance and retrieves relevant tips via RAG (Retrieval-Augmented Generation) |
| **Walkthroughs** | Per-module guided learning paths |
| **AI Tutoring** | ELAI avatar virtual tutors provide video-based explanations and guidance (Humanisation) |
| **Content Scope** | English/IELTS (existing), Math and IT (to be developed) |

### 5. Helpdesk System

| Item | Detail |
|------|--------|
| **Ticketing** | Students and staff create support tickets with category, priority, and description |
| **Workflow** | Creation, assignment, status tracking (open, in-progress, resolved, closed) |
| **Roles** | Students/teachers submit; admin staff categorize, assign, and resolve |
| **Backend** | `encoach_ticket` Odoo module with full CRUD API (`/api/tickets`) |

### 6. API Integration with SIS

| Item | Detail |
|------|--------|
| **Direction** | Bidirectional: UTAS SIS <--> EnCoach |
| **Inbound (SIS to EnCoach)** | Student enrollment data, course catalog mapping, student status changes |
| **Outbound (EnCoach to SIS)** | Exam grades, attendance records, course completion status |
| **Method** | REST API (preferred) or CSV import/export (fallback) |
| **Frequency** | Real-time webhook (if available) or scheduled sync (daily batch) |
| **Prerequisite** | UTAS provides SIS API documentation, test environment, and technical contact |

---

## Technology Stack Summary

| Layer | Technology |
|-------|-----------|
| Frontend | React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui |
| Backend | Odoo 19, Python 3.11, PostgreSQL 16 |
| LMS | OpenEduCat (Odoo modules) |
| AI | OpenAI GPT-4o, Whisper, AWS Polly, ELAI, GPTZero, FAISS |
| Deployment | Docker Compose, Nginx |

---

*EnCoach Engineering -- UTAS Deployment*
