- 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
52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
import RoleLayout, { NavGroup } from "./RoleLayout";
|
|
import {
|
|
LayoutDashboard, BookOpen, ClipboardList, BarChart3,
|
|
CalendarCheck, Calendar, User, Target, GraduationCap, ListChecks,
|
|
MessageSquare, Megaphone, Mail, TrendingUp,
|
|
} 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: "Subject Registration", url: "/student/subject-registration", icon: ListChecks },
|
|
{ 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 },
|
|
{ title: "My Journey", url: "/student/journey", icon: TrendingUp },
|
|
],
|
|
},
|
|
{
|
|
label: "Communication",
|
|
items: [
|
|
{ title: "Discussions", url: "/student/discussions", icon: MessageSquare },
|
|
{ title: "Messages", url: "/student/messages", icon: Mail },
|
|
{ title: "Announcements", url: "/student/announcements", icon: Megaphone },
|
|
],
|
|
},
|
|
{
|
|
label: "Account",
|
|
items: [
|
|
{ title: "Profile", url: "/student/profile", icon: User },
|
|
],
|
|
},
|
|
];
|
|
|
|
export default function StudentLayout() {
|
|
return <RoleLayout navGroups={navGroups} role="student" />;
|
|
}
|