How ricwtk/epman-dashboard works
EPMan is a Vue dashboard for managing engineering courses, programmes, programme structures, schools, and user access. The visible workflow begins with authentication and routed dashboard views; course import parses an outline, while course and programme state supports editing and persistence. Course mapping and assessment capabilities are represented by their dedicated components and helpers. The README is a generic Vue/Vite template and documents no product behavior; unsampled view-to-store connections are therefore left out or shown as unverified.
Main entry points: index.ts Route and access guard · dataService.ts Academic data service · course.ts Course editor state · auth.ts Authentication state
Components 24
Application Shell
- Vue application shell
src/App.vue - Route and access guard
src/router/index.ts
Identity and Access
- Login view
src/views/LoginView.vue - Authentication state
src/stores/auth.ts - User profiles
src/services/userService.ts - User administration
src/views/UserAdminView.vue
Academic Management
- Course list
src/views/CourseListView.vue - Course workspace
src/views/CourseView.vue - Course import
src/views/CourseImportView.vue - Course editor state
src/stores/course.ts - Course mapping and assessment
src/components/course/CEPCEAImplementation.vue - Programme list
src/views/ProgrammeListView.vue - Programme workspace
src/views/ProgrammeView.vue - Programme structure grid
src/components/programme/StructureGrid.vue - School management
src/views/SchoolView.vue
Data and Domain
- Course model and exports
src/types/course.ts - Programme and structure model
src/types/programme.ts - Course helpers
src/utils/courseHelpers.ts - Outline parser
src/utils/parseCourseOutline.ts - Revision and mapping utilities
src/utils/common.ts - Academic data service
src/services/dataService.ts - Firebase configuration
src/services/firebase.ts
Other components
- Dashboard user
- Firestore
Connections 31
- Dashboard user → Vue application shell: uses
- Vue application shell → Route and access guard: renders routes
src/main.ts - Vue application shell → Authentication state: reads sidebar state
- Route and access guard → Login view: routes to
src/router/index.ts - Route and access guard → Authentication state: checks access
src/router/index.ts - Route and access guard → User administration: routes to
src/router/index.ts - Route and access guard → Course import: routes to
src/router/index.ts - Route and access guard → Course workspace: routes to
src/router/index.ts - Route and access guard → Course list: routes to
src/router/index.ts - Route and access guard → Programme list: routes to
src/router/index.ts - Route and access guard → Programme workspace: routes to
src/router/index.ts - Route and access guard → School management: routes to
src/router/index.ts - Login view → Authentication state: signs in
src/views/LoginView.vue - Authentication state → User profiles: loads profile
src/stores/auth.ts - User administration → Authentication state: checks permissions
src/views/UserAdminView.vue - Course import → Outline parser: parses outlines
src/views/CourseImportView.vue - Course import → Course editor state: updates course state
src/views/CourseImportView.vue - Course import → Academic data service: uses data service
src/views/CourseImportView.vue - Course mapping and assessment → Course editor state: uses course state
src/components/course/CEPCEAImplementation.vue - Course mapping and assessment → Course helpers: uses mapping helpers
src/components/course/CEPCEAImplementation.vue - Programme structure grid → Academic data service: uses data service
src/components/programme/StructureGrid.vue - Programme structure grid → Course helpers: uses course helpers
src/components/programme/StructureGrid.vue - Course editor state → Academic data service: persists courses
src/stores/course.ts - Course editor state → Course helpers: creates course data
src/stores/course.ts - Course helpers → Revision and mapping utilities: uses utilities
src/utils/courseHelpers.ts - Academic data service → Firebase configuration: uses configuration
src/services/dataService.ts - Academic data service → Firestore: reads and writes
src/services/dataService.ts - Academic data service → Course model and exports: uses course type
src/services/dataService.ts - Academic data service → Programme and structure model: uses programme type
src/services/dataService.ts - Outline parser → Course model and exports: produces course data
src/utils/parseCourseOutline.ts - Course editor state → Course model and exports: edits course data
src/stores/course.ts