EnCoach Frontend v1 - Production-ready with full API integration

- 59 pages (52 original + 7 new adaptive learning pages)
- 14 AI components wired to real backend endpoints
- Real JWT authentication with 7 user roles
- 21 API service modules with TanStack Query hooks
- 14 TypeScript type definition files
- Entity-scoped permission system
- Universal adaptive learning engine pages (subjects, diagnostic, proficiency, learning plan, topic)
- Admin taxonomy and resource management pages
- All mock data removed, all pages connected to Odoo 19 REST API

docs/ contains:
- ENCOACH_UNIFIED_SRS.md (master product SRS)
- ODOO_BACKEND_SRS_v3.md (backend developer handoff)
- ENCOACH_PRODUCT_DESCRIPTION.md (stakeholder document)
- UTAS_MASTER_PLAN.md (project timeline)
- Supporting architecture and analysis documents

Made-with: Cursor
This commit is contained in:
Talal Sharabi
2026-03-25 22:52:04 +04:00
commit 68001d33e8
221 changed files with 31511 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
import RoleLayout, { NavGroup } from "./RoleLayout";
import {
LayoutDashboard, BookOpen, ClipboardList, BarChart3,
CalendarCheck, Calendar, User, Target, GraduationCap,
} from "lucide-react";
const navGroups: NavGroup[] = [
{
label: "Learning",
items: [
{ title: "Dashboard", url: "/student/dashboard", icon: LayoutDashboard },
{ title: "My Courses", url: "/student/courses", icon: BookOpen },
{ title: "Assignments", url: "/student/assignments", icon: ClipboardList },
],
},
{
label: "Adaptive Learning",
items: [
{ title: "My Subjects", url: "/student/subjects", icon: Target },
],
},
{
label: "Progress",
items: [
{ title: "Grades", url: "/student/grades", icon: BarChart3 },
{ title: "Attendance", url: "/student/attendance", icon: CalendarCheck },
{ title: "Timetable", url: "/student/timetable", icon: Calendar },
],
},
{
label: "Account",
items: [
{ title: "Profile", url: "/student/profile", icon: User },
],
},
];
export default function StudentLayout() {
return <RoleLayout navGroups={navGroups} role="student" />;
}