Yamen Ahmad b02ee8b6b7 feat: Generation Page AI workflows + AI/Vector modules + exam session fixes
Generation Page (complete rebuild):
- Full production-parity exam generation wizard with 4 IELTS modules
- Reading: AI passage gen, 5 exercise types (MCQ, Fill, Write, T/F, Match)
- Listening: 4 section types, AI context gen, TTS audio gen (ElevenLabs)
- Writing: Task 1/2, AI instruction gen, word limits, marks
- Speaking: 3 parts, AI script gen, avatar video gen (7 avatars)
- Per-module config: timer, CEFR difficulty, access, approval, rubrics
- Exam submission workflow (draft/published)

Exam Structures:
- New encoach.exam.structure model + CRUD controller
- ExamStructuresPage wired to real API

AI Module (encoach_ai):
- OpenAI service, ElevenLabs TTS, AWS Polly, ELAI avatars
- AI settings model with Odoo config parameters
- 7 generation endpoints (passage, exercises, instructions, scripts, context)

Vector Module (encoach_vector):
- pgvector integration for RAG-based content search
- Embedding service with sentence-transformers

Exam Session Fixes:
- Fixed ExamSession.tsx field mapping (question_type→type, exam_title→title)
- Fixed submit payload to include attempt_id and answers
- Fixed normalizeType to handle null/undefined

Tested: 12/12 API tests passed, browser-verified with real OpenAI calls
Made-with: Cursor
2026-04-11 14:27:03 +04:00

EnCoach Backend — v2

Branching Workflow

This repo is connected to the staging server via a Git post-receive hook. All deployment is automatic — but only after code review approval.

How to contribute

  1. Never push directly to main — branch protection will block it.
  2. Create a feature or fix branch:
    git checkout -b feature/your-feature-name
    
  3. Develop, commit, and push your branch:
    git push origin feature/your-feature-name
    
  4. Open a Pull Request on Gitea targeting main.
  5. Request review from devops (Talal).
  6. Once approved and merged, the staging server rebuilds and redeploys automatically.

Environment

The .env file is not committed. It lives only on the staging server at /opt/encoach/backend-v2/.env. Contact the team lead if you need a local copy of the environment variables.

Required files (push with your code)

  • Dockerfile — used by the staging server to build the container image
  • docker-compose.yml — defines the backend service (port mapping, env vars, etc.)

Pipeline test Mon Mar 30 19:42:50 +04 2026

Description
No description provided
Readme 375 MiB
Languages
Python 70.8%
HTML 22.1%
JavaScript 3.9%
SCSS 2.1%
CSS 1.1%