Yamen Ahmad
7f1f058e8f
docs(summary): mark monorepo as source of truth + feature/publish workflow
...
- Header banner: add 2026-04-19 entry for the release to backend-v4 /
frontend-v4 split repos; state upfront that this monorepo is the single
source of truth.
- §6 rewritten: layout diagram, remotes table, feature-branch → commit →
publish workflow, exact `git subtree split` commands used to fast-forward
frontend-v4/main and backend-v4/main, notes on what each split repo does
and does not contain, and the safety rules for files that must never be
committed (pgdata backups, build caches, env files).
Made-with: Cursor
2026-04-19 03:20:58 +04:00
Yamen Ahmad
98b9837a54
feat: institutional + support + training admin sections (backend + frontend)
...
Ship three fully-wired admin areas end-to-end with APIs, seeds, tests and docs.
Backend (new `encoach_lms_api` addon + existing addons):
- Institutional: academic years/terms, departments, admission registers & admissions,
courses/batches, lessons, fees (terms + student fees + invoicing with income-account
auto-wiring), gradebook (assignments/grades), library, facilities (encoach.asset),
student leave, result templates + marksheets (incl. delete-with-cascade).
- Support: `encoach.ticket` model + CRUD/assignee routes; payment records derived
from `op.student.fees.details` and `account.move`; platform settings backed by
`encoach.code` and `ir.config_parameter` (packages + grading config).
- Training: `encoach.vocab.item` + `encoach.grammar.rule` (plus progress models)
with CRUD, pagination, search/level filters, and upsert-style progress endpoints.
Odoo 19 compatibility: `_sql_constraints` replaced with `@api.constrains`;
`ValidationError`/`UserError` mapped to HTTP 400.
Frontend:
- Rewire institutional admin pages (Academic Year Manager, Admissions, Courses,
Lessons, Fees, Gradebook, Library, Facilities, Student Leave, Marksheets,
Taxonomy, Resources) to real APIs with React Query invalidation and dialogs.
- New typed services: `payments.service.ts`, `platformSettings.service.ts`,
`training.service.ts`. Updated `fees/gradebook/lms/courseware/taxonomy/
resources/student-progress/generation` services + related types.
- Rewrite `VocabularyPage`, `GrammarPage`, `PaymentRecordPage`, `SettingsPage`,
`TicketsPage` to consume live data with search/filter/progress/CRUD flows.
- New shared components: `TaxonomyCascade`, `MaterialViewer`, `teacher/TeacherLibrary`.
- Favicons/branding assets and misc. UX polish across teacher/student pages.
Tooling & QA:
- Seeders: `seed_demo.py`, `seed_demo_data.py`, `seed_institutional.py` (idempotent,
covers institutional + support + training fixtures incl. income-account wiring).
- API write-flow test suites: `test_write_flows.py` (institutional),
`test_support_flows.py` (support), `test_training_flows.py` (training),
`test_ai_full.py`. All suites pass end-to-end.
- Docs: add `docs/PROJECT_SUMMARY.md` with per-section scope, artifacts and QA.
- `.gitignore`: ignore `pgdata_bak_*/`, `frontend/.vite/`, `frontend/dist/`,
`frontend/node_modules/`.
Made-with: Cursor
2026-04-19 03:13:23 +04:00
Yamen Ahmad
b9df9b5299
Merge remote-tracking branch 'origin/main' into v4
...
Made-with: Cursor
# Conflicts:
# .gitignore
2026-04-13 12:46:00 +04:00
Yamen Ahmad
82ec3debcc
feat: QA fixes, new APIs (assignments, rubrics, custom exams), Generation page enhancements
...
- Fix ELAI video generation (correct render endpoint, script splitting for 60s limit)
- Fix speaking script generation error handling and empty response display
- Add custom exam list API (GET /api/exam/custom/list)
- Add assignments REST API (list, create, get)
- Add rubrics REST API (list, create)
- Enhance Generation page: dynamic exam structures, auto-module selection, preview dialog, audio player
- Improve submit feedback with exam ID and status in toast notifications
- Fix ExamsListPage to show both custom exams and exam sessions
- Connect RubricsPage to backend API with fallback data
- Add Dockerfile, docker-compose.yml, requirements.txt for deployment
- Fix placement, grading, scoring, and auth controllers
- Add ErrorBoundary component for frontend resilience
- Add QA report and credentials documentation
Made-with: Cursor
2026-04-12 14:26:39 +04:00
Yamen Ahmad
571a08d0f7
docs: add comprehensive platform user guide for all user types
...
Covers Student, Teacher, Admin roles with every page/feature documented:
- 30+ student features (courses, exams, adaptive learning, AI courses)
- 17+ teacher features (course management, grading, workbench)
- 60+ admin features (generation, exam management, LMS, analytics)
- AI features guide (7 generation types, grading, coaching)
- End-to-end exam workflow (create → assign → take → grade → release)
- Troubleshooting & FAQ section
Made-with: Cursor
2026-04-11 14:40:20 +04:00
Yamen Ahmad
140ca7408d
feat(generation): rebuild Generation Page with full AI workflows
...
- Rebuild GenerationPage.tsx from static placeholder to production-parity
exam generation wizard with all 4 IELTS modules (Reading, Listening,
Writing, Speaking) plus Level and Industry
- Add per-module config: timer, CEFR difficulty tags, access type,
entities, approval workflow, rubric, grading system, shuffling
- Reading: AI passage generation, 5 exercise types (MCQ, Fill Blanks,
Write Blanks, True/False, Paragraph Match), categories/types
- Listening: 4 section types, AI context generation, TTS audio generation
- Writing: Task 1/2, AI instruction generation, word limits, marks
- Speaking: 3 parts, AI script generation, avatar video generation
with 7 avatar options
- Wire ExamStructuresPage to real CRUD API (list/create/delete)
- Add backend exam_structure model and controller (/api/exam-structures)
- Enhance ai_controller with 5 specialized generation handlers
(passage, exercises, writing instructions, speaking script,
listening context)
- Add POST /api/exam/generation/submit for exam creation workflow
- Fix media.service avatar video endpoint alignment
- All 12 API tests passed, browser-verified with real OpenAI calls
Made-with: Cursor
2026-04-11 14:21:40 +04:00
Yamen Ahmad
f1c4953a63
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
bdc6598734
docs: add project documentation and update README
...
- README.md: replaced generic Odoo setup guide with project overview,
module architecture diagram, staging info, and development instructions
- docs/ENCOACH_ODOO19_BACKEND_SRS.md v3.0: complete backend SRS with
all 41 modules and ~377 API routes marked as implemented
- docs/ENCOACH_UNIFIED_SRS.md v2.0: unified platform SRS covering
frontend, backend, and AI stack
- docs/ODOO_DEVELOPER_HANDOFF.md: implementation-complete handoff guide
- docs/ENCOACH_PRODUCT_DESCRIPTION.md: non-technical product description
- docs/ENCOACH_SYSTEM_FEATURES_GUIDE.md: system features reference guide
Made-with: Cursor
2026-04-06 12:58:26 +04:00