# Skulitech Student Academic Self-Service Update

## Included features

- Students see only units assigned to their class, course, module and year level.
- Students enroll themselves for the current open semester/module.
- Semester enrollment automatically registers assigned units and invokes existing semester billing rules.
- Lecturers and authorized academic staff publish assignments by unit, class and academic period.
- Students see assignments only for their own registered units.
- Students can generate an official PDF transcript for their own admission number.
- Students can generate and print an eligible PDF examination card containing their registered units.
- Student profile, documents, assignments, transcript and examination-card access are restricted to the logged-in student.

## Database update

The application creates or upgrades the assignments structure automatically. For a manual deployment, run:

`database_updates/student_academic_portal.sql`

The complete installation schema in `college_erp_full_database.sql` also contains the new assignments table.

## Main files

- `modules/portal/student_portal.php`
- `modules/academics/assignments.php`
- `modules/exams/admit_cards.php`
- `modules/exams/exam_card_pdf.php`
- `modules/transcripts/transcript_download.php`
- `modules/students/profile.php`
- `modules/documents/documents.php`
- `modules/documents/resources.php`
- `includes/helpers.php`
- `includes/sidebar.php`

## Validation performed

- PHP syntax validation across the complete project.
- Static privacy checks on student-facing academic, profile, document, transcript and exam-card routes.
- Standalone SimplePDF generation smoke test.
- ZIP archive integrity test.
