Skip to main content

Story 7: Parent Portal

Overview

FieldValue
Story IDNGE-13-7
Story Points13
SprintSprint 10

User Story

As a Parent
I want to view my child's profile and download documents
So that I can stay informed about their academic records

Technical Implementation

Parent Portal Controller

@Controller('parent-portal')
@UseGuards(JwtAuthGuard, ParentGuard)
export class ParentPortalController {

@Get('children')
async getChildren(@CurrentUser() user: User) {
return this.parentService.getLinkedChildren(user.id);
}

@Get('children/:studentId')
async getChildDetails(
@Param('studentId') studentId: string,
@CurrentUser() user: User,
) {
// Verify parent has access
await this.parentService.verifyAccess(user.id, studentId);
return this.parentService.getChildDetails(studentId);
}

@Get('children/:studentId/attendance')
async getAttendance(
@Param('studentId') studentId: string,
@Query('month') month: number,
) {
return this.attendanceService.getStudentSummary(studentId, month);
}

@Get('children/:studentId/fee-summary')
async getFeeSummary(@Param('studentId') studentId: string) {
return this.feeService.getStudentSummary(studentId);
}
}

Parent Portal Features

FeatureDescription
View ChildrenSee all linked children
ProfileView child's profile
AttendanceMonthly attendance summary
DocumentsDownload TC, Marksheets
Fee SummaryView pending/paid fees
NotificationsReceive school updates