Files
full_encoach_platform/docs/USER_MANUAL.md
Yamen Ahmad 6712d1d551
Some checks failed
CI / Frontend — lint + build + e2e (push) Has been cancelled
CI / Backend — Odoo HttpCase (push) Has been cancelled
docs: add WORK_REPORT.md and USER_MANUAL.md
- docs/WORK_REPORT.md: recap of the Phase 0/1/2/3 hardening sprint —
  what shipped per phase, branding update, repo migration to the new
  full_encoach_platform repo, per-commit file-churn, verification
  results (tsc, build, Playwright), known gaps, and an operator
  checklist for production promotion.
- docs/USER_MANUAL.md: end-user guide for every role (Student, Teacher,
  Admin, Corporate, Agent, Developer). Walks through every portal URL,
  the AI coach / IELTS / adaptive flows, human-in-the-loop exam review,
  AI prompt editor, feedback triage, GDPR Privacy Center, language +
  theme toggles, and troubleshooting.

Made-with: Cursor
2026-04-19 14:41:19 +04:00

25 KiB
Raw Permalink Blame History

EnCoach — User Manual

Unlock your potential with AI-powered learning.

This manual walks every user type through the EnCoach platform: what each portal looks like, which features are available, and how to accomplish the most common tasks. It's written to be opened by a first-time user and followed step-by-step.

The platform has four main user types, each with its own portal:

Role Portal URL prefix Purpose
Student /student/* Learn, practice, take exams, track progress.
Teacher /teacher/* Run courses, grade assignments, manage classrooms.
Admin /admin/* Operate the institution: users, courses, exams, reports, payments.
Corporate / Agent / Developer /admin/* Admin portal with scoped permissions (see §Admin — Access matrix).

Table of contents

  1. Getting started — common to all users
  2. Student guide
  3. Teacher guide
  4. Admin guide
  5. Privacy & language controls (all roles)
  6. Troubleshooting & support

1. Getting started — common to all users

1.1 Signing in

  1. Open the platform URL in your browser. You'll land on /login.
  2. Enter your email and password.
  3. Click Sign in.

If you've been invited via email, you may need to verify your address first. Open the link in the invitation email and follow the prompts.

1.2 Registering a new account

  1. From the login page, click Register.
  2. Fill in your name, email, and chosen password.
  3. Check your inbox for the verification email and click the link to confirm.
  4. First-time users are automatically routed through an onboarding wizard that collects your goals, proficiency hints, and preferred subjects.

1.3 Forgot / reset password

  • Click Forgot password on /login.
  • Enter your email. You'll get a reset link valid for a short time.
  • Follow the link, set a new password, then sign in.

1.4 Switching theme (dark / light)

Every portal has a sun / moon toggle in the header. Click it to cycle Light → Dark → System. Your choice is remembered per browser.

1.5 Switching language

Every portal also has a globe icon next to the theme toggle. Pick English or العربية. If you choose Arabic, the interface switches to right-to-left automatically.

1.6 Sign out

Click your avatar in the top-right of any portal and pick Sign out. Your session is revoked server-side (not just cleared locally).


2. Student guide

The student portal is your personal learning environment: courses, assignments, exams, attendance, and AI-powered practice.

2.1 Dashboard — /student/dashboard

This is your home screen. It shows:

  • Next up — the next class, assignment, or exam on your timetable.
  • Progress widgets — overall mastery, adaptive subjects in progress, recent exam scores.
  • Announcements — school-wide and course-specific notices from teachers and admins.

2.2 My courses — /student/courses

  • Lists every course you're enrolled in.
  • Click a course card to open /student/courses/:id — the course detail page with:
    • Syllabus
    • Chapter list (click any chapter to read content, watch videos, and take embedded exercises).
    • Assignments tied to the course.
    • Teacher and classmates.

2.3 AI-driven courses (the core of the platform)

EnCoach's flagship is the adaptive AI coach. There are two flows:

2.3.1 General English — /student/course/ai-english/:courseId

  • Auto-generated lessons scoped to your current CEFR level.
  • Each lesson includes: reading, vocabulary, grammar drill, listening, speaking prompt, and a short review quiz.
  • Thumbs up / down under every AI-generated item — your feedback feeds the admin triage queue and improves future prompts.

2.3.2 IELTS — /student/course/ai-ielts/:courseId

  • Full IELTS prep: Reading, Listening, Writing Task 1 & 2, Speaking.
  • Every generated item is validated against the IELTS rubric before you see it. Items that fail validation never reach you.

2.4 Adaptive learning — personalized practice

If you choose to pursue an adaptive track:

  1. Go to /student/subjects and pick a subject (e.g. Vocabulary, Grammar, Reading).
  2. Take the diagnostic test at /student/diagnostic/:subjectId. Results map your ability onto a skill tree.
  3. Review your proficiency profile at /student/proficiency/:subjectId — heatmap of strong / weak areas.
  4. Follow the generated learning plan at /student/plan/:subjectId.
  5. Drill individual topics via /student/topic/:topicId.

2.5 Placement tests — /student/placement

For corporate / institutional students who need a CEFR placement:

  1. /student/placement — briefing page: rules, duration, tech check.
  2. /student/placement/test — full-screen exam session (no layout chrome).
  3. /student/placement/results — your band score + per-skill breakdown + recommended starting level.
  4. /student/placement/access — access code entry for managed institutional tests.

2.6 Assignments — /student/assignments

  • Table of all current and past assignments.
  • Click an assignment to upload your submission, view rubric, and track grading status.

2.7 Grades — /student/grades

  • Per-course gradebook view.
  • Drill into each exam / assignment to see rubric-level feedback.

2.8 Exams

  • Take an exam: /student/exam/:examId/session — full-screen, distraction-free session. Answers auto-save.
  • Check status: /student/exam/:examId/status — submission state (grading, pending review, scored).
  • See results: /student/exam/:examId/results — band score, per-section breakdown, teacher / AI feedback.

2.9 Attendance — /student/attendance

  • Calendar + list view of your attendance history.
  • Export as CSV for personal records.

2.10 Timetable — /student/timetable

  • Week view of your classes, exams, and assignment deadlines.

2.11 Discussion boards — /student/discussions

  • Per-course forum threads. Ask questions, reply to classmates.

2.12 Announcements — /student/announcements

  • Institution-wide and course-specific announcements from teachers and admins.

2.13 Messages — /student/messages

  • Direct chat with your teachers and classmates.

2.14 Journey — /student/journey

  • A visual timeline of your progress: milestones hit, badges earned, exams passed, current level, next goals.

2.15 Profile — /student/profile

  • Name, email, phone, bio, avatar.
  • Change password.
  • Preferred language + theme.

2.16 Subject registration — /student/subject-registration

  • For institutions that require formal subject enrollment per term.

3. Teacher guide

The teacher portal is your classroom command center.

3.1 Dashboard — /teacher/dashboard

  • My classes today, pending gradings, upcoming exams.
  • Recent student activity — who submitted, who's late, who's struggling (from adaptive signals).
  • Quick links to create an assignment or open your course builder.

3.2 My courses — /teacher/courses

  • All courses you teach.
  • Click + New course to open the course builder (/teacher/courses/new):
    • Course metadata (title, description, cover, CEFR level).
    • Syllabus blocks.
    • Chapter list (each chapter has its own content editor + AI workbench).
  • Edit an existing course via /teacher/courses/:id/edit.

3.3 Chapters — /teacher/courses/:courseId/chapters

  • Ordered list of chapters for a course.
  • Click a chapter → /teacher/courses/:courseId/chapters/:chapterId to edit content, attach resources, add exercises, and configure the pass criteria.

3.4 AI workbench — /teacher/courses/:courseId/workbench

The magic. From one panel you can:

  • Generate a new set of exercises (multiple choice, cloze, reading comprehension, short-answer) from a topic prompt.
  • Regenerate individual items with a different difficulty / style.
  • Preview exactly what students will see.
  • Submit generated items to the exam review queue if they're destined for a graded exam (items enter pending_review until an admin approves them).

Every generation call is logged with the prompt hash and model so you can later ask "why was this question generated this way?" and get a traceable answer.

3.5 Assignments — /teacher/assignments

  • List of assignments you've issued.
  • Click one → /teacher/assignments/:id to:
    • See every student's submission.
    • Grade with the rubric.
    • Leave written / voice feedback.
    • Publish the grade (feeds the student gradebook in real time).

3.6 Students — /teacher/students

  • Roster of every student enrolled in a course you teach.
  • Click a student to open their profile, see per-topic mastery, and drill into individual attempts.

3.7 Attendance — /teacher/attendance

  • Per-class attendance register.
  • Mark present / absent / late in bulk.
  • Attendance automatically rolls up to the student dashboard and to admin reports.

3.8 Timetable — /teacher/timetable

  • Your weekly teaching schedule.

3.9 Library — /teacher/library

  • Reusable resource pool: PDFs, videos, slide decks, audio prompts.
  • Tag resources by topic / skill / CEFR level.
  • Attach them into chapters or assignments with one click.

3.10 Course progress — /teacher/course/:courseId/progress

  • Class heatmap: which chapters / topics are lagging, which students need attention, completion % per module.

3.11 Discussions & announcements

  • /teacher/discussions — moderate course forums, pin useful threads.
  • /teacher/announcements — post a notice to a course, a class, or the whole institution (if your role allows).

3.12 Adaptive settings — /teacher/adaptive/settings

Configure how the adaptive engine behaves for your students:

  • Difficulty ramp steepness.
  • Mastery threshold to move on.
  • How many wrong answers before a remediation branch triggers.

3.13 Profile & privacy

  • /teacher/profile — personal details, signature, teaching bio.
  • /teacher/privacy — export your data / delete account (see §5).

4. Admin guide

The admin portal is the operational hub of the institution. Under the hood it's a unified layout covering the original platform pages plus the full LMS plus the AI control plane.

4.1 Access matrix

Role Sees Typical use case
admin Everything. Institution owner / operations lead.
corporate Their corporate entity only (users, reports, exams). Corporate HR manager.
mastercorporate Multiple corporate entities they own. Corporate group head.
agent Assigned cohorts of students + scoring queue. Scoring / review agent.
developer Full + dev-only tools (OpenAPI, feature flags). Platform engineer.

All admin URLs start with /admin/*.

4.2 Dashboards

  • /admin/dashboard — LMS dashboard: enrolments, active courses, attendance trends, open tickets, revenue.
  • /admin/platform — legacy platform dashboard kept for multi-tenant statistics (per-entity breakdown).

4.3 Academic setup

Page What you do there
/admin/academic-years Define terms / academic years.
/admin/departments Departments within the institution.
/admin/courses All courses, enabled / disabled, owners.
/admin/batches Student cohorts — /admin/batches/:id for roster + schedule.
/admin/timetable Institution-wide timetable editor.
/admin/lessons Centralized lesson plan bank.
/admin/library Institutional content library.
/admin/facilities Rooms, labs, equipment bookings.
/admin/activities Extra-curricular activities, clubs, events.

4.4 People

Page What you do there
/admin/students Student roster — search, filter, open a profile.
/admin/teachers Teacher roster.
/admin/admissions Applications pipeline — /admin/admissions/:id per file.
/admin/admission-register Bulk register newly admitted students.
/admin/entity/students/upload CSV bulk upload with validation + preview.
/admin/entity/students/credentials Reset passwords / send invites in bulk.
/admin/student-leave Approve / reject leave requests.

4.5 Exams & assessments

This is where most of the recent work landed. Flow:

  1. Pick a template/admin/exam/create (template selection).
  2. IELTS path:
    • Create: /admin/exam/ielts/create
    • Configure skills: /admin/exam/ielts/:examId/skills
    • Build content pool: /admin/exam/ielts/:examId/content
    • Validate against rubric: /admin/exam/ielts/:examId/validate
  3. Custom exam path: /admin/exam/custom/create — free-form exam builder with section / weighting / time budget controls.
  4. Human-in-the-loop review (NEW)
    • /admin/exam/review-queue — every exam whose items are in pending_review. Filter by course, subject, or date.
    • /admin/exam/review/:examId — side-by-side view: each item with its AI-generated content, source passage, and buttons to Approve, Edit & approve, or Reject (with required reason). Approved exams become publishable.
  5. Grading queue: /admin/exam/:examId/grading — human grader pick-list for writing / speaking items.
  6. Score approval queue: /admin/scores/pending — final sign-off before scores are released to students.
  7. Institutional exam sessions: /admin/exam-sessions — scheduled sittings for on-site administered exams.
  8. Marksheets: /admin/marksheets — bulk marksheet generation and export.
  9. Exams list: /admin/examsList — master list, filter by state (draft / pending_review / published / archived).
  10. Exam structures: /admin/exam-structures — reusable blueprints (section counts, weighting, time budgets).
  11. Rubrics: /admin/rubrics — rubric library used by both graders and the AI validator.
  12. Assignments: /admin/assignments — assignment oversight across all courses.
  13. AI English quality (/admin/ai-course/english/:courseId/quality) and IELTS validation (/admin/ai-course/ielts/:courseId/validation) — deep dive into the quality signals on a single AI-generated course.

4.6 AI control plane (NEW)

Three pages to operate the AI itself:

  • /admin/generation — legacy generation page (bulk item creation from a prompt).
  • /admin/ai/promptsAI Prompt Editor. Every prompt template lives here with versions. Features:
    • List all prompt keys (latest version per key).
    • Click a key to see all historical versions.
    • Activate any version (only one active per key at a time).
    • Create new version — title, description, template body, optional "activate immediately" flag.
    • Render preview — plug in sample variables and dry-run the template to see the exact text the LLM will receive, without actually calling the LLM.
  • /admin/ai/feedbackAI Feedback Triage. Every thumbs up/down a student leaves on AI-generated content lands here. Features:
    • Filter by status (open / acknowledged / fixed / dismissed), rating, subject type.
    • Click a feedback row to see the full comment, the AI output the student rated, and the prompt + version that produced it.
    • Resolve with status + optional note. Resolution is audited.

4.7 Taxonomy & resources

  • /admin/taxonomy — hierarchical taxonomy editor (subject → topic → sub-topic → skill). Used for tagging questions, embeddings, and learning plans.
  • /admin/resources — content resource manager (files, videos, external links) with access control.

4.8 Reports

  • /admin/reports — LMS reports dashboard (enrolment, attendance, performance, revenue).
  • /admin/student-performance — institution-wide performance heatmap.
  • /admin/stats-corporate — corporate-scoped KPIs (for corporate / mastercorporate roles).
  • /admin/record — audit trail / activity log browser.
  • /admin/gradebook — master gradebook across all courses.
  • /admin/student-progress — progress tracker for adaptive students.

All reports now use SQL aggregation under the hood, so pages load in ~hundreds of milliseconds even at institution scale.

4.9 Finance

  • /admin/fees — fee structure, invoicing, per-student balance.
  • /admin/payment-record — payment history (including Paymob transactions with webhook-verified status).
  • Paymob checkout is available to students via the subscription flow; webhook events update order status automatically.

4.10 Governance & access control

  • /admin/roles-permissions — role editor (what each role can do).
  • /admin/authority-matrix — visual matrix: role × resource → CRUD permissions.
  • /admin/user-roles — assign roles to users.
  • /admin/approval-workflows — define approval chains (e.g. exam publish needs 2 approvers).
  • /admin/approval-config — per-workflow configuration.
  • /admin/notification-rules — which events trigger emails / in-app notifications, to whom.

4.11 Content & UX management

  • /admin/faq — manage the public FAQ (served at /faq).
  • /admin/entity/:entityId/branding — white-label per corporate entity: logo, colors, email sender.
  • /admin/entity/:entityId/level-mapping — map your institution's internal levels to CEFR.

4.12 Adaptive operations

  • /admin/adaptive/dashboard — adaptive-engine health across all students (average mastery, struggling-student alerts, remediation success rate).
  • /admin/adaptive/student/:studentId — deep dive into one student's signals and auto-adjustments.

4.13 Classrooms, training modules, and legacy pages

  • /admin/classrooms — physical classroom setup (rooms, capacity).
  • /admin/training/vocabulary and /admin/training/grammar — legacy training module editors kept for continuity with earlier platform content.
  • /admin/users — low-level user CRUD (prefer /admin/students / /admin/teachers for day-to-day work).
  • /admin/entities — multi-tenant entity manager (institutions / corporates).

4.14 Tickets & support

  • /admin/tickets — helpdesk inbox. Tickets fire notifications on status and assignee change, so nobody is left hanging.

4.15 Settings

  • /admin/settings — LMS-wide settings (term dates, grading scale, email templates).
  • /admin/settings-platform — platform-level settings (rate limits, feature flags, integrations).

5. Privacy & language controls (all roles)

5.1 Privacy Center — /<role>/privacy

Available to students, teachers, and admins. Two actions:

  1. Export my data — downloads a JSON file containing everything the platform stores about you (profile, courses, attempts, messages, logs). GDPR Article 20 compliant.
  2. Delete my account — type DELETE to confirm. Effect:
    • PII is anonymized.
    • Personal records are removed.
    • User ID is nulled on audit logs (logs themselves are kept for legal retention).
    • Account is deactivated and cannot sign in again.
    • A tombstone record (encoach.gdpr.erasure.request) is written so the institution has proof of compliance.
    • Admins cannot self-erase via this flow (so there's always at least one admin left). Admins must request erasure via another admin.

5.2 Language toggle

Next to the theme toggle in every portal header. Choose English or العربية. Arabic flips the UI to RTL automatically and the choice is remembered across sessions.


6. Troubleshooting & support

6.1 "I can't sign in"

  • Double-check email (no leading / trailing space).
  • Try Forgot password → reset.
  • Check your email for a verification link if your account is brand new.
  • If still stuck, contact your admin (students / teachers) or open a support ticket via /faq (public) or /admin/tickets (admins).

6.2 "The AI coach feels stuck / slow"

  • OpenAI calls time out at 30 s; if the provider is having a bad minute, the page surfaces an error instead of hanging. Retry.
  • If it happens repeatedly, report it from the thumbs-down button on the coach — it lands in the admin AI Feedback Triage queue with full context (prompt + version + output).

6.3 "An exam question looks wrong / biased / broken"

  • Click thumbs-down under the item and leave a short comment. Admins see it in /admin/ai/feedback and can acknowledge / fix / dismiss.

6.4 "My score is wrong"

  • Open the exam results page (/student/exam/:examId/results) and use Request review. It opens a ticket visible to your teacher and to admin; they can override via /admin/scores/pending.

6.5 "Payment failed / hasn't reflected"

  • Paymob updates arrive via a signed webhook, usually within seconds. If your payment still shows as unpaid after 5 minutes:
    • Students: open a support ticket from your dashboard.
    • Admins: check /admin/payment-record and the encoach.paymob.order logs — the last event payload and HMAC are stored for investigation.

6.6 "The page is blank / shows a spinner forever"

  • The app uses lazy-loaded routes; if the network chunk fails to load, a refresh usually fixes it.
  • Clear site data for the domain if the auth token is stuck.
  • Open the browser console and share the error with your admin / support.

6.7 Reporting issues to the platform team

  • Admins: /admin/tickets → new ticket.
  • Students & teachers: ask your institution admin, or use /faq for self-service.
  • Engineering escalation: open an issue on https://git.albousalh.com/yamen/full_encoach_platform with:
    1. What you were trying to do.
    2. What happened (exact text of any error).
    3. Your role (student / teacher / admin).
    4. Approx. time of occurrence (so logs can be correlated via the X-Request-ID that the backend emits).

Appendix A — Feature map at a glance

Student        Teacher              Admin
─────────────  ───────────────────  ─────────────────────────────────────────
Dashboard      Dashboard            LMS Dashboard + Platform Dashboard
Courses        Courses              Courses / Batches / Lessons / Library
AI English     Course Builder       AI Prompt Editor
AI IELTS       Chapters             AI Feedback Triage
Adaptive path  AI Workbench         Exam review queue + detail
Placement      Assignments          Exam template builder (IELTS + custom)
Assignments    Attendance           Rubrics / Exam structures / Taxonomy
Grades         Students             Grading queue + Score approval queue
Attendance     Library              Reports (performance, corporate, gradebook)
Timetable      Timetable            Admissions / Departments / Academic years
Discussions    Course Progress      Roles / Authority matrix / Approval workflows
Announcements  Discussions          Paymob + fees + payment record
Messages       Announcements        Adaptive dashboard + per-student detail
Journey        Adaptive Settings    White-label branding + Level mapping
Profile        Profile              FAQ / Notification rules / Tickets
Privacy        Privacy              Settings (LMS + platform) / Privacy

Appendix B — Keyboard shortcuts

  • Sidebar collapse / expandCtrl/Cmd + B
  • Global searchCtrl/Cmd + K (where present)
  • Submit formCtrl/Cmd + Enter inside a form
  • Close dialog / modalEsc

Appendix C — Supported browsers

  • Chrome ≥ 115, Edge ≥ 115, Firefox ≥ 115, Safari ≥ 16.
  • Mobile Safari (iOS 16+) and Chrome Android are supported for the student portal. The admin portal is desktop-first.