Skip to content

Overview

This page provides all the routes accessible under teacher namespace.

Feat: Classroom Reports

Route: /school/${schoolId}/classroom/${classroomId}/reports

Features

  • Displays the list of reports both opened and filed.
  • Archives the selected reports.
  • Creates a new report and redirects to /${reportId}/reportGenerator

Components

  1. CreateReportModal: Creates a new report.
    • Location: ./CreateReportModal.svelte

API Calls

  1. GET - /api/v1/school/classrooms/${classroomId}/reports?is_archived=false, fetches all the classroom reports.
  2. PATCH - /api/v1/school/classrooms/${classroomId}/reports/${reportId}, archives the selected reports.
  3. POST - /api/v1/school/classrooms/${classroomId}/reports, creates the report.

Discussion

  1. Fetches the list of reports using the API call 1.
  2. Archives the selected reports using the API call 2.
  3. Creates the report using the API call 3.

Route: /school/${schoolId}/classroom/${classroomId}/reports/${reportId}/reportGenerator

Features

  • Generates and updates the classroom report.

API Calls

  1. GET - /api/v1/school/classrooms/${classroomId}/reports/${reportId}, fetches the report details.
  2. POST - /api/v1/school/classrooms/${classroomId}/reports/${reportId}/generate_report, generates the classroom report.
  3. PATCH - /api/v1/school/classrooms/${classroomId}/reports/${reportId}, updates the classroom report.

Discussion

  1. Fetches the report details using the API call 1.
  2. Generates and updates the classroom report using the API call 2 & 3.

Route: /school/${schoolId}/classroom/${classroomId}/reports/${reportId}

Features

  • Sends the report for supervisor approval.
  • Supervisor approves or rejects the report.
  • Files the report after approval.
  • Downloads the report in pdf format.

Components

  1. pdfBaseTemplate: Base template for pdf generation.
    • Location: ./pdfBaseTemplate.svelte

API Calls

  1. GET - /api/v1/school/classrooms/${classroomId}/reports/${reportId}, fetches the report details.
  2. POST - /api/v1/school/classrooms/${classroomId}/reports/${reportId}/send_for_approval, sends the report for supervisor approval.
  3. POST - /api/v1/school/classrooms/${classroomId}/reports/${reportId}/approve, approves the report.
  4. POST - /api/v1/school/classrooms/${classroomId}/reports/${reportId}/reject, rejects the report.
  5. POST - /api/v1/school/classrooms/${classroomId}/reports/${reportId}/finalize, files the report.
  6. POST - /api/v1/pdfs, generates and download the pdf.

Discussion

  1. Fetches the report details using the API call 1.
  2. Sends for approval, approves or rejects and files the report using the API calls 2,3 or 4 & 5.
  3. Print preview downloads the pdf of the report using the API call 6.

Feat: Classroom Attendance

Route: /school/${schoolId}/classroom/${classroomId}/classroom-attendance

Features

  • Displays the list of created attendance sheets.
  • Archives the selected attendance sheets.
  • Creates a new attendance sheet.
  • Downloads the attendance sheet.

Components

  1. ClassroomAttendanceModal: Creates a new attendance sheet.
    • Location: /src/lib/components/classroom/ClassroomAttendanceModal.svelte
  2. DeleteAttendanceModal: Archives the selected attendance sheets.
    • Location: /src/lib/components/classroom/DeleteAttendanceModal.svelte

API Calls

  1. GET - /api/v1/school/bulk_downloads/search_and_filter?q[type]=School::BulkDownload::ClassroomAttendance&q[sorts]=created_at+desc&q[archived_eq]=false&q[classroom_id_eq]=${classroomId},
  2. PATCH - /api/v1/school/bulk_downloads/${attendanceSheetId}, archives the selected classroom attendance sheet.
  3. POST - /api/v1/school/bulk_downloads, creates a new classroom attendance.

Discussion

  1. Fetches the list of attendance sheets using the API call 1.
  2. Archives the selected attendance sheets using the API call 2.
  3. Creates an attendance sheet using the API call 3.

Tab: My Classroom

Route: /school/${schoolId}/classroom/students

Features

  • Displays the list of students in the classroom.
  • Displays the list of days for which assessment was not marked.
  • Adds reason for no assessment done on any particular day.
  • Marks absent.

Components

  1. StudentCard: Displays the list of students.
    • Location: /src/lib/components/classroom/StudentCard.svelte
  2. BottomTabs: Bottom bar to display different options.
    • Location: /src/lib/components/classroom/BottomTabs.svelte
  3. StudentCardShimmer: Shimmer effect till the students data loads.
    • Location: /src/lib/components/shared/StudentCardShimmer.svelte
  4. DomainPerformanceSummary: Shows performance of each student.
    • Location: ./DomainPerformanceSummary.svelte

API Calls

  1. GET - /health =============
  2. GET - /api/v1/schools/me ==============
  3. GET - /api/v1/school/students?classroom_id=${classroomId}&per_page=50, fetches the list of students.
  4. GET - /api/v1/school/assessment_days/absent_days?student_id=${studentId}, fetches the dates for which the assessment was not done.
  5. POST - /api/v1/school/students/${studentId}/attendances, marks a student's attendance.
  6. GET - /api/v1/school/students/${studentId}/attendances, fetches a student's attendance.
  7. POST - /api/v1/school/assessment_days/bulk_assessments?student_id=${studentId}, adds reason for missing assessments for multiple dates.

Discussion

  1. Fetches all the students in a classroom using the API call 3.
  2. Fetches all the days for which assessment was not done using API call 4.
  3. Marks absent for that day for an individual student using API call 5.
  4. Adds reason for missing assessments for a student using API call 6.

Route: /school/${schoolId}/onboarding/new-student

Features

  • Step 1 to onboard a new student onto LMS.

Components

  1. OnboardingTaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/shared/OnboardingTaskBar.svelte
  2. BottomTabs: Bottom bar to display different options.
    • Location: /src/lib/components/classroom/BottomTabs.svelte
  3. GuardianRow: To enter guardian details.
    • Location: /src/lib/components/onboarding/GuardianRow.svelte

API Calls

  1. POST - /api/v1/school/students, creates a new student.
  2. PATCH - /api/v1/school/students/${studentId}, updates an existing student.

Discussion

  1. Creates a new student using the API call 1 for onboarding onto LMS.
  2. Updates an existing student using the API call 2 for onboarding onto LMS.

Route: /school/${schoolId}/onboarding/new-student/${studentId}/domains-selection

Features

  • Displays school curriculums.
  • Displays the domains in a curriculum.
  • Selects the domains to be added to the IEP while onboarding a new student to the LMS.

Components

  1. CurriculumDomains: Displays the curriculums and the domains in a curriculum.
    • Location: ./CurriculumDomains.svelte
  2. OnboardingTaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/shared/OnboardingTaskBar.svelte

API Calls

  1. GET - /api/v1/school/curriculums, fetches the curriculums available in a school.
  2. GET - /api/v1/school/students/${studentId}, fetches the student details.
  3. GET - /api/v1/school/domains?curriculum_id=${curriculumId}, fetches all the domains available in a curriculum.
  4. GET -/api/v1/school/goals/count`, fetches all the goals in a school.
  5. PATCH - /school/students/${studentId}/onboarding/ieps/${iepId}, updates the onboarding iep.
  6. POST - /school/students/${studentId}/onboarding/ieps, creates a new onboarding iep.

Discussion

  1. Fetches the curriculums using the API call 1.
  2. Fetches student details using the API call 2.
  3. Fetches all the domains in a curriculum using the API call 3.
  4. Fetches all the goals in the school using API call 4.
  5. Creates a new onboarding IEP using the API call 6.
  6. Updates the onboarding IEP using API call 5.

Route: /school/${schoolId}/onboarding/new-student/${studentId}/domainsCompetency?iepId=${iepId}&domainId=${domainId}

Features

  • Selects the goals in a category to be marked completed.
  • Removes the goals.
  • Adds subgoals.
  • Removes the subgoals in a category to be marked completed.

Components

  1. OnboardingTaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/shared/OnboardingTaskBar.svelte
  2. TopTabs: Displays the domain data.
    • Location: /src/lib/components/shared/TopTabs.svelte
  3. CategoryPanel: Displays and selects from the list of goals in a category.
    • Location: /src/lib/components/onboarding/CategoryPanel.svelte

API Calls

  1. POST - /api/v1/school/students/${studentId}/onboarding/ieps/bulk_assessments?goal_id=${goalId}, saves the assessments data.
  2. POST - /api/v1/school/ieps/${iepId}/summary_nodes/node?record_type=Library::Category&record_id=${categoryId}, saves the summary of the goals in that category.
  3. PATCH - /api/v1/school/students/${studentId}/onboarded, onboards the new student onto the LMS.
  4. GET - /api/v1/school/categories?domain_id=${domainId}, fetches the list of categories in the domain.
  5. GET - /api/v1/school/goals?category_id=${categoryId}&page=1, fetches the list of goals in a categories.
  6. GET - /api/v1/school/ieps/d0324d66-1fdf-4e73-9c08-ecf80c739f88/summary_nodes?record_type=Library::Category&record_id=${categoryId}&depth=2, fetches the summary of selected goals from a category.
  7. POST - /api/v1/school/students/${studentId}/onboarding/ieps/assessments, adds the selected subgoals to the assessment.
  8. DELETE - /api/v1/school/students/${studentId}/onboarding/ieps/assessments/${assessmentId}, removes subgoals from the assessment.
  9. DELETE - /api/v1/school/students/${studentId}/onboarding/ieps/bulk_assessments?goal_id=${goalId}, deletes goal from the assessment.

Discussion

  1. Adds goals from various domains to the assessment using API call 1.
  2. Removes the goals from the assessment using API call 9.
  3. Saves the summary of the goals in the IEP using the API call 2.
  4. Onboards a new student to the LMS using API call 3.
  5. Fetches the list of categories in a domain using API call 4.
  6. Fetches the list of goals in a category using API call 5.
  7. Fetches the summary of the selected goals using API call 6.
  8. Adds selected subgoals to the assessment using API call 7.
  9. Removes selected subgoals from the assessment using API call 8.

Route: /school/${schoolId}/onboarding/existing-students

Features

  • Displays the list of students in a classroom.
  • Displays the list of classroom Grades.
  • Moves the students from a classroom to the unassigned.

Components

  1. StudentCard: Displays the list of students.
    • Location: /src/lib/components/classroom/StudentCard.svelte
  2. StudentCardShimmer: Shimmer effect till the students data loads.
    • Location: /src/lib/components/shared/StudentCardShimmer.svelte

API Calls

  1. GET - /api/v1/school/students?classroom_id=${classsroom Id}&per_page=50
  2. PATCH - /api/v1/school/student_classrooms/${data.id}, moves the student from classroom to unassigned.
  3. POST - /api/v1/school/student_classrooms, adds the student to the classroom.

Discussion

  1. Displays the list of students in each grade using API call 1.
  2. Moves the students from a grade to unassigned using API call 2.
  3. Adds the students to a classroom using API call 3.

Route: /school/${schoolId}/student/${studentId}

Features

  • Displays the List of domains available(approved in the iep).
  • Navigates to Daily assessments and Review learning materials.

Components

  1. DomainCard: Displays the list of domains.
    • Location: /src/lib/components/student/DomainCard.svelte
  2. TodoCard: Displays the Options like - Review learning Materials and if the onboarding is not completed then Complete Onboarding etc.
    • Location: /src/lib/components/student/TodoCard.svelte'

API Calls

  1. GET - /api/v1/school/students/${studentId}, fetches student details.
  2. GET - /api/v1/library/domains/${domainId}, fetches domain details.
  3. GET - /api/v1/school/students/${studentId}/ieps/${iepId}, fetches iep details.

Discussion

  1. Fetches student details using the API call 1 if the iep is created and onboarding is completed.
  2. Fetches domain details using the API call 2 if the iep is not created and onboarding is not completed.
  3. Fetches iep details using the API call 3 if the iep is created and onboarding is completed.

Route: /school/${schoolId}/student/${studentId}/iep-assessment/domains/goals?domainId=${domainId}

Features

  • Assesses Student Performance for creating the IEP.

Components

  1. TopTabs: Displays the domain data.
    • Location: /src/lib/components/shared/TopTabs.svelte
  2. TaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/shared/TaskBar.svelte
  3. AssessmentSuccessPopup: Shows assessment success pop up.
    • Location: /src/lib/components/shared/AssessmentSuccessPopup.svelte
  4. SegmentTabs: .
    • Location: /src/lib/components/goals/SegmentTabs.svelte
  5. GoalDetails: Displays the goal details and subgoals.
    • Location: /src/lib/components/goals/GoalDetails.svelte
  6. GoalsList: Displays a list of goals..
    • Location: /src/lib/components/goals/GoalsList.svelte

API Calls

  1. GET - /api/v1/school/curriculums, fetches the list of curriculums.
  2. GET - /api/v1/school/students/${studentId}, fetches student details.
  3. GET - /api/v1/library/domains/${domainId}, fetches all goals.
  4. GET - /api/v1/school/ieps/${iepId}/summary_nodes/goals?tab_name=completed&domain_id=${domainId}, fetches all completed goals in a domain.
  5. GET - /api/v1/school/ieps/${iepId}/summary_nodes/goals?tab_name=in_progress&domain_id=${domainId}, fetches all the goals in progress.
  6. GET - /api/v1/school/ieps/${iepId}/summary_nodes/goals?tab_name=new&domain_id=${domainId}, fetches all the new goals available in a domain.
  7. GET - /api/v1/library/lesson_plan_subgoals?goal_id=${goalId}&q[sorts]=created_at+asc, fetches the lesson plan for a goal.
  8. GET - /api/v1/school/goals/${goalId}, gets all the subgoals in a goal.
  9. POST - /api/v1/school/students/${studentId}/onboarding/ieps/iep_assessments/, assesses each subgoal.
  10. POST - /api/v1/school/students/${studentId}/student_overrides, overrides the title of the subgoal.

Discussion

  1. Assesses the student performance by assessing each subgoal in a goal using API call 9.
  2. Fetches completed, in progress and new goals in a domain using API Calls 4,5 and 6, respectively.
  3. Fetches all the subgoals in a goal using the API call 9.
  4. Fetches the lesson plans in a goal, if available, using API call 7.
  5. Edits the subgoal title using API call 10.

Route: /school/${schoolId}/student/${studentId}/iep-creation/domains?domainId=${domainId}

Features

  • Creates an IEP for a student newly onboarded.
  • Displays all the categories and the goals in a domain.
  • Subgoals are be added to the IEP.

Components

  1. TopTabs: Displays the domain data.
    • Location: /src/lib/components/shared/TopTabs.svelte
  2. TaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/shared/TaskBar.svelte
  3. GoalDetails: Displays the goal details and subgoals.
    • Location: /src/lib/components/goals/GoalDetails.svelte
  4. GoalsList: Displays a list of goals.
    • Location: /src/lib/components/goals/GoalsList.svelte
  5. CreationCompletedPopup: Shows the iep completion pop up.
    • Location: /src/lib/components/shared/CreationCompletedPopup.svelte

API Calls

  1. POST - /api/v1/school/students/${studentId}/ieps/${iepId}/subgoals, adds subgoals to the IEP.
  2. PATCH - /api/v1/school/students/${studentId}/ieps/${iepId}/subgoals/${subgoal.iep_subgoal_id}, removes the subgoals from the IEP.
  3. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/subgoals?goal_id=${goalId}, fetches all the goals in the subgoal.
  4. POST - /api/v1/school/students/${studentId}/student_overrides, edits the title of the subgoal.
  5. POST - /api/v1/school/students/${studentId}/school_subgoals, adds a custom subgoal.
  6. DELETE - /api/v1/school/students/${studentId}/school_subgoals/${subgoalId}, deletes the custom subgoal.

Discussion

  1. Adds subgoals to the IEP using API call 1.
  2. Removes a subgoal from the iep using API call 2.
  3. Creates a custom subgoal in a goal using API call 5.
  4. Deletes the custom subgoal using API call 6.

Route: /school/${schoolId}/student/${studentId}/iep-preview

Features

  • This is preview of the created iep.
  • Sends the iep for approval.
  • Sends an email to the parents.
  • Approves and finalizes the IEP.

Components

  1. TaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/shared/TaskBar.svelte
  2. CurrentLevelPerformance: Proceeds to the next steps.
    • Location: /src/lib/components/iep-preview/CurrentLevelPerformance.svelte
  3. StudentIepDetails: Displays student iep details.
    • Location: /src/lib/components/iep-preview/StudentIepDetails.svelte
  4. IepPerformance: Displays student iep performance details.
    • Location: /src/lib/components/iep-preview/IepPerformance.svelte

API Calls

  1. GET - /api/v1/school/students/${studentID}, fetches student details.
  2. GET - /api/v1/school/students/${studentId}/ieps/${iepId}, fetches iep details.
  3. GET - /api/v1/school/profiles?all=true&classroom_id=${classroomId}, ===========.
  4. GET - /api/v1/school/ieps/${iepId}/summary_nodes?record_type=Library::Domain&record_id=${domainId}&depth=3, fetches the domain data.
  5. GET - /api/v1/school/ieps/${iepId}/previews/?domain_id=${domainId}, fetches iep subgoals data.
  6. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/notes?domain_id=${domainId}, fetches the notes for domains.
  7. POST - /api/v1/school/students/${studentId}/ieps/${iepId}/notes, adds teacher, supervisor and parent notes.
  8. PATCH - /api/v1/school/students/${studentId}/ieps/${iepId}/notes/${noteId}, edits teacher and parent notes.
  9. PATCH - /api/v1/school/students/${studentId}/ieps/${iepId}/send_for_admin_approval, sends the iep for supervisor approval.
  10. POST - /school/students/${studentId}/ieps/${iepId}/send_email, sends an email to the parent.
  11. PATCH - /school/students/${studentId}/ieps/${iepId}/approve, approves iep.
  12. PATCH - /school/students/${studentId}/ieps/${iepId}/finalize, finalizes iep.

Discussion

  • Fetches the domain data using the API call 4.
  • Can add teacher notes and parent notes using the API call 7.
  • Displays, adds and edits the parent,supervisor and teacher notes using the API call 6,7 and 8 respectively.
  • Sends an email to the parent using the API call 9.
  • Sends the IEP to the supervisor for approval using the API call 9.
  • Approves the IEP using the API call 11.
  • Finalizes the IEP using the API call 12.

Route: /school/${schoolId}/student/${studentId}/daily-assessments?domainId=${domainId}

Features

  • Displays the list of goals in each domain.
  • Displays all the subgoals in a goal.
  • Adds content to each subgoal.
  • Adds assessment to each subgoal in a goal.
  • Resets the assessments done.
  • Displays previous assessments done.
  • Adds reason for no assessment done on any given date.
  • Deletes the reason.
  • Displays a calendar in which all the assessment details are shown.
  • Adds reason for no assessment done and deletes the reason added from the calendar.
  • Adds new word to the word bank.

Components

  1. GoalDetails: Displays the list of subgoals.
    • Location: ./GoalDetails.svelte
  2. HistoricalGoals: Displays the historical data for all the goals in a domain.
    • Location: ./HistoricalGoals.svelte

API Calls

  1. GET - /api/v1/school/curriculums, fetches the list of curriculums.
  2. GET - /api/v1/school/students/${studentId}, fetches student details.
  3. GET - /api/v1/school/students/${studentId}/ieps/${iepId}, fetches iep details.
  4. GET - /api/v1/library/domains/${domainId}, fetches domain details.
  5. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/daily_summaries/goals?domain_id=${domainId}, fetches all the goals in the iep for each domain.
  6. GET - /api/v1/library/lesson_plan_subgoals?goal_id=${goalId}&q[sorts]=created_at+asc, fetches the lesson plan for a goal.
  7. GET - /api/v1/library/goals/${goalId}, fetches goal details.
  8. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/daily_summaries/subgoals?goal_id=${goalId}, fetches iep subgoal details.
  9. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/iep_materials?goal_id=${goalId}, fetches the iep materials details.
  10. GET - /api/v1/school/assessment_days/absent_days?student_id=${studentId}&start_date=${startDate}&end_date=${endDate}, fetches the dates for which assessments were not done for any (not even one) subgoal.
  11. GET - /api/v1/school/students/${studentId}/attendances?start=${startDate}&end=${endDate}&per_page=100, fetches the student attendance data.
  12. GET - /api/v1/school/calendar_days?per_page=100, fetches calendar holidays for a school.
  13. POST - /api/v1/school/students/${studentId}/words, adds a word to the wordbank.
  14. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/notes?noteable_id=${subgoal.id},${subgoal.iep_subgoal_id}&noteable_type=Library::Subgoal,School::IepSubgoal, fetches all the notes in a subgoal.
  15. POST - /api/v1/school/students/${studentId}/ieps/${iepId}/notes, adds notes.
  16. PATCH - /api/v1/school/students/${studentId}/ieps/${iepId}/notes/${notesId}, edits notes.
  17. DELETE - /api/v1/school/students/${studentId}/ieps/${iepId}/notes/${notesId}, deletes notes.
  18. POST - /api/v1/school/students/${studentId}/ieps/${iepId}/daily_assessments, adds assessment for a subgoal for a date.
  19. DELETE - /api/v1/school/students/${studentId}/ieps/${iepId}/daily_assessments/${assessmentId}, deletes assessment for a subgoal for a date.
  20. POST - /api/v1/school/assessment_days/bulk_assessments?student_id=${studentId}, adds reason for missing the assessment for a date.
  21. DELETE - /api/v1/school/assessment_days/${assessmentId}?student_id=${studentId}, deletes the reason added for missing the assessment.
  22. GET - /api/v1/library/materials?page=1&is_archived=false, fetches all the materials available.
  23. POST - /api/v1/school/students/${studentId}/ieps/${iepId}/iep_materials, adds the materials to the iep subgoal.

Discussion

  1. Fetches the list of curriculums using the API call 1.
  2. Fetches the student details using the API call 2.
  3. Fetches the iep details using the API call 3.
  4. Fetches the domain details using the API call 4.
  5. Fetches the goals present in the iep for each domain using the API call 5.
  6. Fetches the lesson plans for the goal using the API call 6.
  7. Fetches goal details using the API call 7.
  8. Fetches iep goals and iep subgoals using the API call 8.
  9. Fetches the iep materials data using the API call 9.
  10. Fetches all the dates for which assessment was not done for any(not even one) subgoal using the API call 10.
  11. Fetches the student attendance data using the API call 11.
  12. Fetches all the calendar holidays using the API call 12.
  13. Adds a new word to the word bank for a student using the API call 13.
  14. Fetches all the notes in a subgoal using the API call 14.
  15. Adds notes to a subgoal using the API call 15.
  16. Edits the notes present in a subgoal using the API call `16.
  17. Deletes the notes from a subgoal using the API call 17.
  18. Adds assessment for a particular date using the API call 18.
  19. Deletes assessment for a particular date using the API call 19.
  20. Adds a reason for missing assessment for a particular date using the API call 20.
  21. Deletes the reason added for missing assessment for a particular date using the API call 21.
  22. Fetches all the materials available (to be added to a subgoal) using the API call 22.
  23. Adds materials to an iep subgoal using the API call 23.

Route: /school/${schoolId}/student/${studentId}/materials-review?domainId=${domainId}

Features

  • Adds, edits and deletes Materials from a subgoal.
  • Prints Flashcards(Materials) in small, medium & large options.
  • Can select between text only, image only & text and image.
  • Creates, edits, deletes and duplicates a worksheet in the goal.
  • Publiches or unpublishes a worksheet.

Components

  1. TopTabs: Displays the domain data.
    • Location: /src/lib/components/shared/TopTabs.svelte
  2. MaterialsGoalDetails: Displays the goal details.
    • Location: /src/lib/componentsgoals/MaterialsGoalDetails.svelte

API Calls

  1. GET - /api/v1/school/curriculums, fetches the list of curriculums
  2. GET - /api/v1/school/students/${studentId}/ieps/${iepId}, fetches iep details.
  3. GET - /api/v1/library/domains/${domainId}, fetches domain details.
  4. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/daily_summaries/goals?domain_id=${domainId}, fetches all the goals in the iep for each domain.
  5. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/iep_materials?domain_id=${domainId}, fetches all the goal wise iep materials data.
  6. GET - /api/v1/library/lesson_plan_subgoals?goal_id=${goalId}&q[sorts]=created_at+asc, fetches the lesson plan for a goal.
  7. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/daily_summaries/subgoals?goal_id=${goalId}, fetches iep subgoal details.
  8. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/iep_materials?goal_id=${goalId}, fetches the iep materials details.
  9. GET - /api/v1/library/materials?page=1&is_archived=false, fetches all the materials available.
  10. POST - /api/v1/school/students/${studentId}/ieps/${iepId}/iep_materials, adds the materials to the iep subgoal.
  11. GET - /api/v1/library/worksheet/tags, fetches all the tags.
  12. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/worksheets?goal_id=${goalId}, fetches the list of worksheets in the goal.
  13. POST - /api/v1/school/students${studentId}/ieps/${iepId}/worksheets, adds a new worksheet to the goal.
  14. POST - /api/v1/school/worksheets/${worksheetId}/transition, toggles between public and private for a worksheet in the goal.
  15. POST - /api/v1/school/students/${studentId}/ieps/${iepId}/worksheets/${worksheetId}/duplicate, duplicates the worksheet.
  16. PATCH - /api/v1/school/students/${studentId}/ieps/${iepId}/worksheets/${worksheetId}, edits the worksheet.
  17. DELETE - /api/v1/school/students/${studentId}/ieps/${iepId}/worksheets/${worksheetId}, deletes the worksheet.
  18. POST - /api/v1/media, saves worksheet media.
  19. DELETE - /school/students/${studentId}/ieps/${iepId}/iep_materials/${materialId}, deletes a material from the subgoal.

Discussion

  1. Fetches the list of curriculums using the API call 1.
  2. Fetches the iep details using the API call 2.
  3. Fetches domain details using the API call 3.
  4. Fetches all the goals in the iep for each domain using the API call 4.
  5. Fetches all the iep materials data in each goal using the API call 5.
  6. Fetches the lesson plan in a goal using the API call 6.
  7. Fetches the subgoal details using the API call 7.
  8. Fetches the iep material details using the API call 8.
  9. Fetches all the materials available (to be added to a subgoal) using the API call 9.
  10. Adds materials to an iep subgoal using the API call 10.
  11. Deletes materials from an iep subgoal using the API call 19.
  12. Fetches the tags using the API call 11.
  13. Fetches the list of worksheets in a goal using the API call 12.
  14. Adds a new worksheet to the goal using the API call 13.
  15. Toggles between public and private to publish or unpublish the worksheet using the API call 14.
  16. Duplicates or saves a worksheet using the API call 15.
  17. Edits the worksheet using the API call 16.
  18. Deletes the worksheet using the API call 17.

Route: /school/${schoolId}/student/${studentId}/materials-review/print-flashcards?flashcard_type=text-image

Features

  • Prints/Downloads all the flashcards.

Components

  1. pdfBaseTemplate: Base template for pdf generation.
    • Location: ./pdfBaseTemplate.svelte
  2. PdfGenerationLoader: Generates pdf.
    • Location: ./PdfGenerationLoader.svelte
  3. DownloadCompletePopup: Displays a download complete pop up.
    • Location: ./DownloadCompletePopup.svelte

API Calls

  1. POST - /api/v1/pdfs, creates the pdf to be downloaded.

Dicussion

  1. Downloads the pdf using the API call 1.

Route: /school/${schoolId}/onboarding/new-student?studentId=${studentId}

Features

  • Fetches and edits student data.

Components

  1. OnboardingTaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/shared/OnboardingTaskBar.svelte
  2. GuardianRow: Displays guardian details.
    • Location: /src/lib/components/onboarding/GuardianRow.svelte

API Calls

  1. GET - /api/v1/school/students/${studentId}, fetches student data.
  2. PATCH - /api/v1/school/students/${studentId}, edits student data.

Discussion

  1. Fetches and edits the student data using the API Calls 1 and 2, respectively.

Route: /school/${schoolId}/studentId=${studentId}/word-bank

Features

  • Adds and deletes a word from the word bank.

Components

  1. AddWordModal: Interface to words.
    • Location: ./AddWordModal.svelte

API Calls

  1. GET - /api/v1/school/students/${studentId}/words?page=1, fetches all the words.
  2. GET - /school/students/${studentId}/words/search_and_filter?q[sorts]=updated_at desc&per_page=${perPage}&q[student_id_eq]=${studentId}, fetches recently added words.
  3. DELETE - /api/v1/school/students/${studentId}/words/${wordId}, deletes a word.
  4. POST - /api/v1/school/students/${studentId}/words, adds a new word.

Discussion

  1. Fetches all the words using the API call 1.
  2. Fetches the recently added words using the API call 2.
  3. Deletes the word using the API call 3.
  4. Adds a new word using the API call 4.

Route: /school/${schoolId}/student/${studentId}/word-bank/preview?sort=${sortingType}&totalPages=${totalPages}

Features

  • Downloads the words with or without first letter.

Components

  1. pdfBaseTemplate: Base template for pdf generation.
    • Location: ./pdfBaseTemplate.svelte
  2. PdfGenerationLoader: Generates pdf.
    • Location: ./PdfGenerationLoader.svelte

API Calls

  1. GET - /api/v1/school/students/${studentId}/words?page=1, fetches all the words.
  2. POST - /api/v1/pdfs, creates and download the pdfs.

Discussion

  1. Fetches all the words using the API call 1.
  2. Downloads the file using the API call 2.

Route: /school/${schoolId}/student/${studentId}/iep-list

Features

  • Displays the list of ieps created for a student.
  • Shows the iep preview.

API Calls

  1. GET - /api/v1/school/students/${studentId}/ieps/daily_list, fetches the list of ieps.

Discussion

  1. Fetches the list of ieps created for a student using the API call 1.
  2. Shows the iep preview by redirecting to the url: /school/students/ieps?school_id=${schoolId}&student_id=${studentId}&iep_id=${iepId}&preview=true

Route: /school/${schoolId}/student/${studentId}/case-studies

Features

  • Displays a list of filed and opened case studies.
  • Archives case studies.
  • Creates a follow to the case study.

Components

  1. FollowUpCaseStudy: Shows an option to create a follow up for a case study.
    • Location: /src/lib/components/case-study/FollowUpCaseStudy.svelte

API Calls

  1. GET - /api/v1/school/casestudies/${casestudyId}, fetches the case study for which follow up is to be created.
  2. POST - /api/v1/school/casestudies, creates a new case study.
  3. GET - /api/v1/school/casestudies?student_id=${studentId}&per_page=50&is_archived=false, fetches the list of case studies.
  4. PATCH - /api/v1/school/casestudies/${casestudyId, archives the case study.

Discussion

  1. Fetches the list of case studies using the API call 3.
  2. Fetches the case study for which follow up is to be created using the API call 1.
  3. Creates a case study using the API call 2.
  4. Archives the case study uisng the API call 4.

Route: /school/${schoolId}/student/${studentId}/case-studies/create

Features

  • Displays a list of case studies that can be filed.
  • Creates a case study and redirects to /${casestudyId}.

Components

  1. TaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/case-study/TaskBar.svelte

API Calls

  1. GET - /api/v1/school/students/${studentId}, fetches the student details.
  2. POST - '/api/v1/school/casestudies', creates a new case suty.
  3. POST - /school/students/${studentId}/build_summary, builds a new student summary if applicable (it is built only for add goals to iep and remove goals from iep).

Discussion

  1. Selects from a list of options for a case study to be filed.
  2. Upon selecting an option, it creates a new case study using the API call 2 and redirects to /${casestudyId}
  3. Creates a new student summary for a few options using the API call 3.

Route: /school/${schoolId}/student/${studentId}/case-studies/${casestudyId}

Features

  • Displays the list of domains available for the case study.
  • Redirects to /domains-selection to add more domains to the case study.
  • Redirects to /domains?domainId=${domainId} to add sugboals to the case study.
  • Displays the list of goals and subgoals selected from the available/added domains.

Components

  1. TaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/case-study/TaskBar.svelte
  2. CasestudyDomain: Displays the curriculums, domains and selected subgoals from a goal.
    • Location: ./CasestudyDomain.svelte

API Calls

  1. GET - /api/v1/school/casestudies/${casestudyId}, fetches case study details.
  2. GET - /api/v1/school/curriculums, fetches the list of curriculums.
  3. GET - /api/v1/school/casestudies/${casestudyId}/subgoals/domains?domain_id=${domainId}, fetches the list of subgoal details selected from each domain.
  4. GET - /api/v1/school/casestudies/${casestudyId}/subgoals/counts?domain_id=${domainId}, fetches the goal details (whose subgoals are selected) from each domain.

Discussion

  1. Fetches the case study details using the API call 1.
  2. Fetches the list of curriculums using the API call 2.
  3. Fetches all the subgoal details which are selected from the available/added domain using API call 3.
  4. Fetches all the goal details (whose subgoals are selected) from the available/added domains using API call 4.

Route: /school/${schoolId}/student/${studentId}/case-studies/${casestudyId}/domains?domainId=${domainId}

Features

  • Displays the list of goals (from which the subgoals are selected for the case study) in the available domain.
  • Selects and adds the subgoals to the case study.

Components

  1. GoalsList: Displays the list of goals.
    • Location: /src/lib/components/goals/GoalsList.svelte
  2. CreationCompletedPopup: Displays the list of goals.
    • Location: /src/lib/components/shared/CreationCompletedPopup.svelte
  3. GoalSubgoals: Displays the goal details and the list of subgoals in that goal.
    • Location: ./GoalSubgoals.svelte

API Calls

  1. GET - /api/v1/school/casestudies/${casestudyId}, fetches case study details.
  2. GET - /api/v1/school/curriculums, fetches the list of curriculums.
  3. GET - /api/v1/school/students/${studentId}, fetches student details.
  4. GET - /api/v1/school/students/${studentId}/ieps/${iepId}, fetches iep details.
  5. GET - /api/v1/library/domains/${domainId}, fetches domain details.
  6. GET - /api/v1/school/casestudies/${casestudyId}/summaries/ongoing_goals?domain_id=${domainId}&page=1, fetches all the goals in progess from a domain.
  7. GET - /api/v1/school/casestudies/${casestudyId}/summaries/new_goals?domain_id=${domainId}&page=1, fetches all the new goals in a domain.
  8. POST - /api/v1/school/casestudies/${casestudyId}/subgoals, adds a subgoal to the case study.
  9. POST - /api/v1/school/students/${studentId}/school_subgoals, creates a custom subgoal in a goal.
  10. DELETE - /api/v1/school/students/${studentId}/school_subgoals/${subgoalId}, deletes the custom subgoal from a goal.
  11. GET - /api/v1/library/lesson_plan_subgoals?goal_id=${goalIs}&q[sorts]=created_at+asc, fetches the lesson plans available for the goal.
  12. POST - /api/v1/school/students/${studentId}/student_overrides, edits the subgoal title.
  13. GET - /api/v1/school/students/${studentId}/student_overrides?record_id=${subgoalId1},${subgoalId2},${subgoalId3}..., fetches any overridden for the subgoals.

Discussion

  1. Fetches the case study details using the API call 1.
  2. Fetches the list of curriculums using the API call 2.
  3. Fetches the student details using the API call 3.
  4. Fetches the iep details using the API call 4.
  5. Fetches the domaain details using the API call 5.
  6. Fetches all the goals in progress and new goals available in a domain using the API calls 6 & 7 respectively.
  7. Adds a subgoal to the case study using the API call 8.
  8. Creates and deletes a custom subgoal using the API calls 9 & 10 respectively.
  9. Edits the subgoal title using the API call 12.
  10. Fetches the overriden data for the subgoals using the API call 13.
  11. Fetches the lesson plans using the API call 11.

Route: /school/${schoolId}/student/${studentId}/case-studies/${casestudyId}/domains-selection

Features

  • Displays the list of domains to be added to the case study.
  • Adds the selected domains to the case study.

API Calls

  1. GET - /api/v1/school/curriculums, fetches the list of curriculums.
  2. GET - /api/v1/school/domains?curriculum_id=${curriculumId}, fetches the list of domains from the curriculum.
  3. GET - /api/v1/school/goals/count, fetches the goals count of each domain.
  4. GET - /api/v1/school/casestudies/${casestudyId}, fetches the case study details to display the selected domains.
  5. PATCH - /school/casestudies/${casestudyId}, adds the selected domains to the case study.

Discussion

  1. Fetches the list of curriculums using the API call 1.
  2. Fetches and displays the list of domains and goal count of each domain using the API calls 2 & 3 respectively.
  3. Fetches the case study details to dsiplay the selected domains from the list of domains using the API call 4.
  4. Adds the selected domains to the case study. using the API call 5.

Route: /school/${schoolId}student/${studentId}/case-studies/${casestudyId}/remove-domains/selection

Features

  • Displays the available domains.
  • Selects from the domains to be removed from the iep.

API Calls

  1. GET - /api/v1/school/casestudies/${casestudyId}, fetches case study details to display the domains available in the iep.

Discussion

  1. Displays the list of domains available in the iep using the API call 1.
  2. Selects the domains for the case study (remove domains from the iep).

Route: /school/${schoolId}/student/${studentId}/case-studies/${casestudyId}/observation

Features

  • Previews the case study information before sending it for supervisor approval.
  • Adds or edits the Observation notes.
  • Sends the case study for approval if applicable.

Components

  1. TaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/case-study/TaskBar.svelte
  2. DomainObservation: Displays the data created in the case study.
    • Location: ./DomainObservation.svelte

API Calls

  1. GET - /api/v1/school/casestudies/${casestudyId}, fetches case study details.
  2. GET - /api/v1/school/students/${studentId}, fetches student details.
  3. GET - /api/v1/school/casestudies/${caseStudyId}/requires_approval, indicates the case study requires approval to be finalized.
  4. POST - /api/v1/school/casestudies/${caseStudyId}/notes, creates observation notes.
  5. GET - /api/v1/school/casestudies/${caseStudyId}/notes, fetches observation notes.
  6. GET - /api/v1/school/casestudies/${casestudyId}/subgoals/domains?domain_id=${domainId}, fetches the list of subgoal details selected from each domain.
  7. GET - /api/v1/school/casestudies/${casestudyId}/subgoals/counts?domain_id=${domainId}, fetches the goal details (whose subgoals are selected) from each domain.
  8. GET - /api/v1/school/students/${studentId}/student_overrides?record_id=${subgoalId1},${subgoalId2},${subgoalId3}..., fetches any overridden for the subgoals.
  9. POST - /school/casestudies/${caseStudyId}/send_for_approval, sends the case study for approval.
  10. POST - /api/v1/school/casestudies/${caseStudyId}/approve, approves the case study.
  11. POST - /api/v1/school/casestudies/${caseStudyId}/reject, rejects the case study.

Discussion

  1. Fetches the case study details using the API call 1.
  2. Fetches the student details using the API call 2.
  3. Fetches the overriden data for the subgoals using the API call 8.
  4. Creates and fetches the observation notes using the API calls 4 & 5.
  5. Fetches all the subgoal details which are selected from the available/added domain using API call 6.
  6. Fetches all the goal details (whose subgoals are selected) from the available/added domains using API call 7.
  7. Sends the case study to the supervisor for approval using the API call 9.
  8. Supervisor approves the case study using the API call 10.
  9. Supervisor rejects the case study using the API call 11.

Route: /school/${schoolId}/student/${studentId}/case-studies/${casestudyId}/finalize

Features

  • After the case study is approved by the supervisor, the case study details are displayed.
  • Creates a meeting and adds participants to the meeting.
  • Adds agreeement notes.
  • Finalizes the case study.

Components

  1. TaskBar: Proceeds to the next steps.
    • Location: /src/lib/components/case-study/TaskBar.svelte
  2. DomainObservation: Displays the data created in the case study.
    • Location: ../observation/DomainObservation.svelte
  3. CaseStudyParticipantsSelection: Displays and selects the participants for the meeting.
    • Location: ./CaseStudyParticipantsSelection.svelte

API Calls

  1. GET - /api/v1/school/casestudies/${casestudyId}, fetches case study details.
  2. GET - /api/v1/school/students/${studentId}, fetches student details.
  3. GET - /api/v1/school/casestudies/${casestudyId}/subgoals/domains?domain_id=${domainId}, fetches the list of subgoal details selected from each domain.
  4. GET - /api/v1/school/casestudies/${casestudyId}/subgoals/counts?domain_id=${domainId}, fetches the goal details (whose subgoals are selected) from each domain.
  5. POST - /api/v1/school/casestudies/${caseStudyId}/notes, creates the agreement notes.
  6. PATCH - /api/v1/school/casestudies/${caseStudyId}/notes, edits the agreement notes.
  7. GET - /api/v1/school/casestudies/${caseStudyId}/notes, fetches observation and agreement notes.
  8. GET - /api/v1/school/students/${studentId}/student_overrides?record_id=${subgoalId1},${subgoalId2},${subgoalId3}..., fetches any overridden for the subgoals.
  9. POST - /api/v1/school/casestudies/${caseStudyId}/finalize, finalizes the case study.
  10. PATCH - /api/v1/school/students/${studentId}, adds a new parent/guardian.
  11. POST - /api/v1/school/casestudies/${casestudyId}/participants, Adds the participants for the meeting.
  12. GET - /api/v1/school/casestudies/${casestudyId}/participants, fetches the participants for the meeting.
  13. DELETE - /api/v1/school/casestudies/${casestudyId}/participants/${participantId}, deletes the selected participants from the meeting.

Discussion

  1. Fetches the case study details using the API call 1.
  2. Fetches the student details using the API call 2.
  3. Fetches all the subgoal details which are selected from the available/added domain using API call 3.
  4. Fetches all the goal details (whose subgoals are selected) from the available/added domains using API call 4.
  5. Fetches the overriden data for the subgoals using the API call 7.
  6. Creates and edits the agreement notes using the API calls 5 & 6.
  7. Fetches the obsevation notes using the API call 7.
  8. Adds a new parent/guardian for the student using the API call 10.
  9. Adds the participants to the meeting using the API call 11.
  10. Fetches the participants for the meeting using the API call 12.
  11. Deletes the participant from the meeting using the API call 13.
  12. Finalizes the case study using the API call 9.

Route: school/${schoolId}/student/${studentId}/case-studies/${casestudyId}/finalize/preview

Features

  • Generates a pdf file of the case study details for it to be downloaded.

Components

  1. DomainObservation: Displays the data created in the case study.
    • Location: ../../observation/DomainObservation.svelte
  2. PdfDownloadSuccessPopup: Shows the download success pop up.
    • Location: /src/$lib/components/shared/PdfDownloadSuccessPopup.svelte'
  3. pdfBaseTemplate: Base template for pdf generation.
    • Location: ./pdfBaseTemplate.svelte

API Calls

  1. GET - /api/v1/school/casestudies/${casestudyId}, fetches case study details.
  2. GET - /api/v1/school/students/${studentId}, fetches student details.
  3. GET - /api/v1/school/casestudies/${casestudyId}/participants, fetches the participants for the meeting.
  4. GET - /api/v1/school/casestudies/${casestudyId}/subgoals/domains?domain_id=${domainId}, fetches the list of subgoal details selected from each domain.
  5. GET - /api/v1/school/casestudies/${casestudyId}/subgoals/counts?domain_id=${domainId}, fetches the goal details (whose subgoals are selected) from each domain.
  6. GET - /api/v1/school/students/${studentId}/student_overrides?record_id=${subgoalId1},${subgoalId2},${subgoalId3}..., fetches any overridden for the subgoals.
  7. POST - /api/v1/pdfs, generates the pdf of the case study and downloads the file.

Discussion

  1. Fetches the case study details using the API call 1.
  2. Fetches the student details using the API call 2.
  3. Fetches the overriden data for the subgoals using the API call 6.
  4. Fetches the participants for the meeting using the API call 3.
  5. Fetches all the subgoal details which are selected from the available/added domain using API call 4.
  6. Fetches all the goal details (whose subgoals are selected) from the available/added domains using API call 5.
  7. Generates the pdf file and downloads the file using the API call 7.

Route: /school/${schoolId}/student/${studentId}/reports

Features

  • Displays all the reports, both filed and open reports.
  • Archives the selected reports.
  • Generates a new report and redirects to /${reportId}, where the report can be sent for approval and after approval it can be filed.

Components

  1. CreateReportModal: Modal for generating a new report.
    • Location: ./CreateReportModal.svelte

API Calls

  1. GET - /api/v1/school/students/${studentId}/reports?per_page=50&is_archived=false, fetches the list of reports
  2. PATCH - /api/v1/school/students/${studentId}/reports/${reportId}, archives the selected reports.
  3. POST - /api/v1/school/students/${studentId}/reports, generates a new report.

Discussion

  1. Fetches the list of reports for the student using the API call 1.
  2. Archives the selected reports using the API call 2.
  3. Generates a new report using the API 3.

Route: /school/${schoolId}/student/${studentId}/reports/${reportId}?reportKind=active_iep

Features

  • Fetches all the report items, for example: total_subgoals, total_words, completed_subgoals, learned_words etc...
  • Displays all the goals along with the subgoals and the latest assessment done for the subgoal.
  • On clicking the Print Preview or Share Report Redirects to the print preview page /preview?reportKind=active_iep.

Components

  1. DomainOverview: Gives an overview of all the domains with the goals and subgoals and the latest assessment done for that subgoal.
    • Location: ./DomainOverview.svelte
  2. ReportHeader: Header for the report.
    • Location: ./ReportHeader.svelte
  3. Avatar: Displays the student image if available or else the first alphabet of their name.
    • Location: /src/lib/components/menubar/Avatar.svelte

API Calls

  1. GET - /api/v1/school/students/${studentId}, fetches student data to be displayed in the report.
  2. GET - /api/v1/school/profiles?all=true&classroom_id=${classroomDetails}, fetches the users that have access to the student.
  3. GET - /api/v1/school/students/${studentId}/reports/${reportId}, fetches the report details.
  4. GET - /api/v1/school/curriculums, fetches the list of curriculums.
  5. GET - /api/v1/school/students/${studentId}/reports/${reportId}/report_items/search_and_filter?q[sorts]=position%20asc&page=1, fetches all the report items and sorts them as per the position.
  6. POST - /api/v1/school/students/${studentId}/reports/${reportId}/notes, creates the notes.
  7. GET - /api/v1/school/students/${studentId}/reports/${reportId}/notes, fetches the notes.
  8. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/daily_summaries/subgoals?goal_id=${goalId}, fetches the assessments for the subgoals.
  9. POST - /api/v1/school/students/${studentId}/reports/${reportId}/send_for_approval, sends the report for supervisor approval.
  10. POST - /api/v1/school/students/${studentId}/reports/${reportId}/approve, approves the report.
  11. POST - /api/v1/school/students/${studentId}/reports/${reportId}/finalize, files the report.

Discussion

  1. Fetches the student details using the API call 1.
  2. Fetches all the users data that have access to the student using the API call 2.
  3. Fetches the report details using the API call 3.
  4. Fetches all the curriculum details using the API call 4.
  5. Fetches all the report items and sorts them as per the position using the API call 5.
  6. Creates the report notes using the API call 6.
  7. Fetches the report notes using the API call 7.
  8. Fetches the assessments data for the subgoal using the API call 8.
  9. Sends the report for supervisor approval using the API call 9.
  10. Supervisor approves the report using the API call 10.
  11. Files the report using the API call 11.

Route: /school/${schoolId}/student/${studentId}/reports/${reportId}/preview?reportKind=active_iep

Features

  • Downloads the pdf of the report.
  • Generates a link to download the report.
  • Emails the report to the guardian.
  • Previews the report.

Components

  1. DomainOverview: Gives an overview of all the domains with the goals and subgoals and the latest assessment done for that subgoal.
    • Location: ../DomainOverview.svelte
  2. ReportHeader: Header for the report.
    • Location: ../ReportHeader.svelte
  3. Avatar: Displays the student image if available or else the first alphabet of their name.
    • Location: /src/lib/components/menubar/Avatar.svelte
  4. pdfBaseTemplate: Base template for pdf generation.
    • Location: ../pdfBaseTemplate.svelte
  5. ReportPdfSharingModal: Sends email or displays the download link.
    • Location: ./ReportPdfSharingModal.svelte
  6. PdfDownloadSuccessPopup: Shows the download success pop up.
    • Location: /src/$lib/components/shared/PdfDownloadSuccessPopup.svelte'
  7. EmailReportsSuccessModal: Shows the email sent successfully pop up.
    • Location: ./EmailReportsSuccessModal.svelte

API Calls

  1. GET - /api/v1/school/students/${studentId}, fetches student data to be displayed in the preview.
  2. GET - /api/v1/school/curriculums, fetches the list of curriculums.
  3. GET - /api/v1/school/profiles?all=true&classroom_id=${classroomDetails}, fetches the users that have access to the student.
  4. GET - /api/v1/school/students/${studentId}/reports/${reportId}/report_items/search_and_filter?q[sorts]=position%20asc&page=1, fetches all the report items and sorts them as per the position.
  5. GET - /api/v1/school/students/${studentId}/reports/${reportId}/notes, fetches the notes.
  6. GET - /api/v1/school/students/${studentId}/ieps/${iepId}/daily_summaries/subgoals?goal_id=${goalId}, fetches the assessments for the subgoals.
  7. POST - /api/v1/media, generates media.
  8. POST - /api/v1/pdfs, generates pdf.
  9. GET - /api/v1/school/students/${studentId}/reports/${reportId}/generate_share_token, makes the download report link accessable to everyone with the link.
  10. POST - /api/v1/school/students/${studentId}/reports/${reportId}/send_email, sends email.

Discussion

  1. API calls from 1 to 6 are used to fetch and preview the student report.
  2. Generates media for sharing the report using the API call 7.
  3. Generates pdf using the API call 8.
  4. Sends email to the guardian using the API call 10.
  5. Generates a token which makes the download report link accessable to anyone with the link without logging in, using the API call 9.

Route: /school/${schoolId}/student/${studentId}/attendance

Features

  • Shows the attendance calendar.
  • Displays calendar holidays and attendance data.
  • Marks absent or resets the attendance (present by default).
  • Adds reason for no assessment and shows the added reason for that date.
  • Can delete the added reason for no assessment for that data.

Components

  1. AttendanceCalendar: Shows the Attendance Calendar.
    • Location: /src/lib/components/AttendanceCalendar.svelte

API Calls

  1. GET - /api/v1/school/students/${studentId}, fetches student details.
  2. GET - /api/v1/school/students/${studentId}/attendances?start=${startDate}&end=${endDate}&per_page=100, fetches the attendance data of the student.
  3. GET - /api/v1/school/calendar_days?start_date=${startDate}&end_date=${endDate}&per_page=100, fetches calendar holidays.
  4. GET - /api/v1/school/assessment_days/absent_days?student_id=${studentId}&start_date=${startDate}&end_date=${endDate}, fetches the dates for which assessment was not done for any subgoal.
  5. GET - /api/v1/school/assessment_days/search_and_filter?q[student_id_eq]=${studentId}&q[date_gt]=${startDate}&q[date_lt]=${endDate}&per_page=100, fetches the dates for which no assessment reason was added.
  6. POST - /api/v1/school/assessment_days/bulk_assessments?student_id=${studentId}, adds reason for no assessment.
  7. POST - /api/v1/school/students/${studentId}/attendances, marks a student absent for a selected date.
  8. DELETE - /api/v1/school/students/${studentId}/attendances/${attendanceId}, resets the attendance.

Discussion

  1. Fetches student details using the API call 1.
  2. Fetches the student attendance data using the API call 2.
  3. Fetches the calendar holidays using the API call 3.
  4. Fetches the dates for which no assessment was done for any subgoal using the API call 4.
  5. Fetches the dates and the associated data for which reason for no assessment was added using the API call 5.
  6. Adds reason for no assessment for a date using the API call 6.
  7. Marks a student absent or resets the attendance using the API calls 7 & 8 respectively.

Route: /school/${schoolId}/student/${studentId}/parent-reports

Features

  • Creates a new report.
  • Displays all the generated reports.
  • After the report generation, redirects to /${reportId}

Components

  1. CreateReportModal: Modal for generating a new report.
    • Location: '../reports/CreateReportModal.svelte

API Calls

  1. GET - /api/v1/school/parent_reports/search_and_filter?student_id=${studentId}, fetches the list of reports.
  2. POST - /api/v1/school/parent_reports, generates a new report.

Discussion.

  1. Fetches the list of parent reports for the student using the API call 1.
  2. Generates a new report using the API call 2.

Route: /school/${schoolId}/student/${studentId}/parent-reports/${reportId}

Features

  • Teacher fills the form.
  • Sends it for supervisor approval.
  • Supervisor approves or rejects the report.

Components

  1. DomainSection: Displays the domain details (like the categories and all the available goals and subgoals in it).
    • Location: '/src/lib/components/parent-report/DomainSection.svelte from '$';

API Calls

  1. GET - /api/v1/school/students/${studentId}, fetches the student details.
  2. GET - /api/v1/school/students/${studentId}/ieps/${iepId}, fetches iep details.
  3. GET - /api/v1/school/parent_reports/${reportId}, fetches the parent report details.
  4. GET - /api/v1/school/ieps/${iepId}/previews/?domain_id=${domainId}, fetches the domain details.
  5. GET - /api/v1/school/ieps/${iepId}/summary_nodes/search_and_filter?q[iep_student_id_eq]=${studentId}&q[iep_id_eq]=${iepId}&q[status_eq]=completed&q[type_eq]=School::IepSummaryNode::Subgoal&per_page=1000, fetches the completed subgoals data in the iep.
  6. GET - /api/v1/school/parent_reports/${reportId}/subgoals?per_page=1000, fetches all the subgoals added to the report.
  7. POST - /api/v1/school/parent_reports/${reportId}/subgoals, adds subgoal to the report.
  8. POST - /api/v1/school/parent_reports/${reportId}/send_for_approval, sends the report for supervisor approval.
  9. POST - /api/v1/school/parent_reports/${reportId}/approve, approves the report.
  10. POST - /api/v1/school/parent_reports/${reportId}/reject, rejects the report.

Discussion

  1. Fetches the student details, iep details and report details using the API calls 1,2 & 3, respectively.
  2. Fetches the iep domain details using the API call 4.
  3. Fetches the completed subgoals data in the iep using the API call 5.
  4. Fetches all the subgoals data added to the report using the API call 6.
  5. Adds the subgoals to the report using the API call 7.
  6. Send the report for supervisor approval using the API call 8.
  7. Approves or rejects the report using the API calls 9 or 10.

Route: /school/${schoolId}/student/${studentId}/parent-reports/${reportId}/preview

Features

  • Previews the report details.
  • Prints the IEP.
  • Sends the report to the parent for approval.
  • Generates and downloads the pdf.

Components

  1. PreviewDomainSection: Displays the domain details (like the categories and all the available goals and subgoals in it).
    • Location: '/src/lib/components/parent-report/preview/PreviewDomainSection.svelte
  2. pdfBaseTemplate: Base template for pdf generation.
    • Location: ../pdfBaseTemplate.svelte
  3. ReportPdfSharingModal: Sends email or displays the download link.
    • Location: ../../../reports/[reportId]/preview/ReportPdfSharingModal.svelte

API Calls

  1. GET - /api/v1/school/students/${studentId}, fetches the student details.
  2. GET - /api/v1/school/students/${studentId}/ieps/${iepId}, fetches iep details.
  3. GET - /api/v1/school/parent_reports/${reportId}, fetches the parent report details.
  4. GET - /api/v1/school/ieps/${iepId}/previews/?domain_id=${domainId}, fetches the domain details.
  5. GET - /api/v1/school/ieps/${iepId}/summary_nodes/search_and_filter?q[iep_student_id_eq]=${studentId}&q[iep_id_eq]=${iepId}&q[status_eq]=completed&q[type_eq]=School::IepSummaryNode::Subgoal&per_page=1000, fetches the completed subgoals data in the iep.
  6. GET - /api/v1/school/parent_reports/${reportId}/subgoals?per_page=1000, fetches all the subgoals added to the report.
  7. POST - /api/v1/pdfs, generates pdf.
  8. POST - /api/v1/school/shared_entities?include_encoded_share_token=true, makes the download report link accessable to everyone with the link.
  9. POST - /api/v1/media, generates media.
  10. POST - /api/v1/school/parent_reports/${reportId}/send_email, sends email.

Discussion

  1. Fetches the data from API calls 1 to 6 to display all the report info in the preview.
  2. Generates pdf using the API call 7.
  3. Generates media using the API call 9.
  4. Sends email to the guardian using the API call 10.
  5. Makes the download link accessable to anyone with the link without having to login using the API call 8.

Tab: Class Groups

Route: /school/${schoolId}/classroom/classgroups?domainId=${domainId}

Features

  • Shows goalwise summaries for each domain.
  • Toggles between Historical and Current Year to display the goal wise summaries.
  • Creates and adds common worksheet for a goal.

Components

  1. TopTabs: Displays the domain data.
    • Location: /src/lib/components/shared/TopTabs.svelte
  2. GoalSummary: Displays goal wise summary.
    • Location: ./GoalSummary.svelte
  3. ToggleSwitch: Toggles between Historical and Current year.
    • Location: /src/lib/components/shared/ToggleSwitch.svelte
  4. CommonGoalCard: Displays all the common goals data.
    • Location: /src/lib/components/class-groups/CommonGoalCard.svelte

API Calls

  1. GET - /api/v1/school/curriculums, fetches the list of curriculums.
  2. GET - /api/v1/library/domains?per_page=50, fetches all the domains.
  3. GET - /api/v1/school/classgroup/goal_wise_student_summary?classroom_id=${classroomId}&domain_id=${domainId}&is_historical=false&page=1&per_page=25, fetches goalwise summary for each domain.
  4. POST - /api/v1/school/worksheets/search_and_filter
  5. POST - /api/v1/school/worksheets, creates a new worksheet.
  6. POST - /api/v1/school/classgroup/download_csv?classroom_id=${classroomId}&domain_id=${domainId}&goal_id=${goalId}&is_historical=undefined, exports the classgroup info in a CSV file for the goal.
  7. POST - /api/v1/school/classgroup/download_csv?classroom_id=${classroomId}&domain_id=${domainId}&is_historical=false, exports all the classgroups info in a CSV file.

Discussion

  1. Fetches the list of curriculums and domains using the API calls 1 & 2.
  2. Fetches the goal wise summary using the API call 3.
  3. Creates a new worksheet using the API call 5.
  4. Export the class group data for a single goal and downloads a CSV file, using the API call 6.
  5. Exports all the classgroups data and downloads a CSV file, using the API call 7.

Tab: Materials Library

Route: /school/${schoolId}/classroom/materials

Features

  • Displays the materials and lesson plans.

Components

  1. DomainCard: Shows all the domains.
    • Location: /src/lib/components/classroom/MaterialsDomainCard.svelte
  2. DomainGoals: Displays domain goals.
    • Location: ./DomainGoals.svelte

API Calls

  1. GET - /api/v1/school/curriculums, fetches the list of curriculums.
  2. GET - /api/v1/school/domains?curriculum_id=${curriculumId}, fetches the list of domains in the curriculum.
  3. GET - /api/v1/school/goals?domain_id=${domainId}&page=1, fetches the list of goals in the domain.
  4. GET - /api/v1/library/material_entities?entity_id=${subgoalId}, fetches the materials in the subgoal.
  5. GET - /api/v1/library/lesson_plan_subgoals?goal_id=${goalId}&q[sorts]=created_at+asc, fetches the lesson plans.
  6. GET - /api/v1/richtext_records?owner_id=${lessonPlanId}, fetches the lesson plans in the rich text format.

Discussion

  1. Fetches the curriculums and list of domains in each curriculum using the API calls 1 & 2.
  2. Fetches goals in each domain using the API call 3.
  3. Fetches the materials and lesson plans using the API calls 4 & 5.
  4. Fetches the lesson plans in rich text format using the API call 6.

Tab: Classroom Worksheets

Route: /school/${schoolId}/classroom/worksheets

Features

  • Fetches the list of worksheets, tags and domains.
  • Redirects to /worksheet for creating a new worksheet.
  • Edits the worksheet.
  • Duplicates, prints and deletes the worksheet.

Components

  1. TeacherWorksheetListing: Displays the list of worksheets.
    • Location: /src/lib/components/worksheet/listing/TeacherWorksheetListing.svelte
  2. AdminWorksheetsListing: Displays the list of admin worksheets.
    • Location: /src/lib/components/worksheet/listing/AdminWorksheetsListing.svelte
  3. SearchPanel: Search bar.
    • Location: /src/lib/components/worksheet/listing/SearchPanel.svelte
  4. AlertFirefoxModal: Shows an alert dialogue box, when opened in Mozilla Firefox.
    • Location: /src/lib/components/shared/AlertFirefoxModal.svelte

API Calls

  1. GET - /api/v1/library/worksheet/tags, fetches the worksheet tags.
  2. GET - /api/v1/library/domains?per_page=50, fetches the list of domains.
  3. POST - /api/v1/school/worksheets/search_and_filter, fetches the list of worksheets as per the query string.
  4. POST - /api/v1/library/worksheets/search_and_filter?per_page=50, fetches the list of all worksheets
  5. POST - /api/v1/school/worksheets/${worksheetId}/transition, toggles between public and private for a worksheet in the goal.
  6. POST - /api/v1/school/students/${studentId}/ieps/${iepId}/worksheets/${worksheetId}/duplicate, duplicates the worksheet.
  7. DELETE - /api/v1/school/students/${studentId}/ieps/${iepId}/worksheets/${worksheetId}, deletes the worksheet.
  8. POST - /api/v1/media, saves worksheet media.
  9. PATCH - /api/v1/school/students/${studentId}/ieps/${iepId}/worksheets/${worksheetId}, edits the worksheet.

Discussion

  1. Fetches the worksheet tags using the API call 1.
  2. Fetches the list of domains (to filter the worksheets) using the API call 2.
  3. Fetches the list of worksheets using the API call 3.
  4. Fetches the worksheets as per the query string entered in the search bar using the API call 3.
  5. Toggles between public and private to publish or unpublish the worksheet using the API call 5.
  6. Duplicates or saves a worksheet using the API call 6.
  7. Deletes the worksheet using the API call 7.
  8. Edits the worksheet using the API call 9.

Route: /school/${schoolId}/classroom/worksheets/worksheet

Features

  • creates a new worksheet.

Components

  1. SidePanel: Shows all the side panel options.
    • Location: /src/lib/components/worksheet/SidePanel.svelte
  2. WorksheetBuilder: Has all the elements to build the worksheet.
    • Location: /src/lib/components/worksheet/WorksheetBuilder.svelte

API Calls

  1. GET - /api/v1/school/curriculums, fetches all the curriculums.
  2. GET - /api/v1/library/domains?curriculum_id=${curriculumId}, fetches all the domains in the curriculums.
  3. GET - /api/v1/library/materials?page=2&is_archived=false, fetches all the materials which can be added in the worksheet.
  4. GET - /api/v1/library/tags?page=1, fetches all the tags.
  5. POST - /api/v1/school/worksheets, creates the worksheet.
  6. POST - /api/v1/media, saves the worksheet media.

Discussion

  1. Creates a worksheet using the API call 5.

Tab: Content Library

Route: /school/${schoolId}/classroom/content-library

Features

  • Displays all the tags.
  • Displays all the materials also known as flashcards.
  • Selects the flashcards with various size and type options to be printed.
  • Redirects to /print-flashcards?flashcard_type=${flashcardType} for printing the flashcard.

Components

  1. FlashcardTypesFilter: Displays the flashcard types.
    • Location: /src/lib/components/subgoals/FlashcardTypesFilter.svelte
  2. ContentCart: Displays the selected flashcards.
    • Location: /src/lib/components/shared/ContentCart.svelte

API Calls

  1. GET - /api/v1/library/materials?page=1&is_archived=false, fetches all the materials (aka Flashcards).
  2. GET - /api/v1/library/tags?page=1, fetches all the tags.
  3. GET - /api/v1/library/materials?query_material_text=${queryString}&page=1&is_archived=false, fetches the materials as per the query string.
  4. GET - /api/v1/library/materials?tag=${tagName}&page=1&is_archived=false, gets the materials by tag name.

Discussion

  1. Materials are also known as Flashcards. Fetches all materials using the API call 1.
  2. Fetches all the tags using the API call 2.
  3. Fetches the materials as per the query string entered in the searchbar using the API call 3.
  4. Fetches the material by tag name using the API call 4.

Route: /school/${schoolId}/classroom/content-library/print-flashcards?flashcard_type=${flashcardType}

Features

  • Downloads the flashcards as per the size and flashcard type selected in the previous screen.

Components

  1. pdfBaseTemplate: Base template for pdf generation.
    • Location: ./pdfBaseTemplate.svelte

API Calls

  1. GET - /api/v1/pdfs, generates the pdf.

Discussion

  1. Generates the pdf file and downloads it using the API call 1.

Tab: To-Do's

Route: /school/${schoolId}/classroom/todos

Features

  • Displays all the reminders.

API Calls

  1. GET - /api/v1/school/tasks/search_and_filter?q[staff_id_eq]=${staffId}e&q[sorts]=created_at%20desc, fetches the list of reminders.

Discussion

  1. Fetches all the reminders using the API call 1.