> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cleverschool.systems/llms.txt
> Use this file to discover all available pages before exploring further.

# Pupil Portal

> Tutorials & Walkthroughs

## Practical Tutorials

This section provides practical, step-by-step guides for pupils, teachers, pastoral leaders, and school administrators using the Pupil Portal module.

***

### Tutorial 1: Student Meeting Check-In via QR Code

Learn how students scan a club QR code on their mobile device or laptop to register meeting attendance in real time.

**1. Scan the Meeting QR Code**

At the start of the club session or fixture, scan the QR code displayed by the club leader using your smartphone camera or click the direct attendance link provided by your teacher.

> [!TIP]
>
> Direct meeting attendance links follow the format: `https://[your-school].cleverschool.systems/pupil/attend?ulid=[meeting-ulid]`.

**2. Sign in to your Pupil Account**

If not already logged in, authenticate using your school Single Sign-On (Google or Microsoft) or enter your pupil email address and password.

**3. Verify Meeting Details**

The **Attend Club Meeting** screen (`/pupil/attend`) confirms the club name, meeting date, start time, and fixture details (including opponent and Home/Away designation).

**4. Toggle Attendance Switch**

On the day of the meeting, locate the **Mark as attended** switch and toggle it to active.

* The attendance state updates instantly without requiring a manual save button.
* If you need to withdraw or adjust attendance before the session concludes, you can toggle the switch off again on the same day.

**5. Review Meeting History on Dashboard**

Click your name in the breadcrumb navigation to return to your **Pupil Dashboard** (`/pupil`) and confirm that the meeting appears in your completed sessions ledger.

***

### Tutorial 2: Analysing House & Year Group Attendance Trends

Learn how students and pastoral staff explore school-wide extracurricular participation metrics across houses and year groups.

**1. Open the Statistics Hub**

From the Pupil Portal sidebar, select **Statistics** or click the **Stats** button on your dashboard breadcrumb (`/pupil/stats`).

**2. Select a Date Range**

Click the date range selector at the top of the page. Choose from common presets:

* **This Week** or **Last Week**: Evaluate immediate short-term engagement.
* **This Month** or **Last Month**: Monitor medium-term participation across clubs.
* **Year to Date**: Inspect cumulative house points and year group attendance across the full academic year.

**3. Inspect Year Group Participation**

Review the **Year Groups** chart to evaluate total attendance counts across Year 7 through Year 13. Identify which cohorts are most active in extracurricular programmes.

**4. Inspect House Competition Standings**

Review the **Houses** chart to see the total attendance points accumulated by each house. Use these figures to support house point awards, pastoral assemblies, and the annual house trophy.

***

### Tutorial 3: Staff Impersonation for Pastoral Support

Learn how pastoral leaders, SENCOs, and administrators securely view the exact portal experience of an individual student to troubleshoot issues or verify student commitments.

**1. Navigate to Pupil Administration**

As a staff member with administrative privileges, navigate to **Administration** > **Pupils** (`/admin/pupils`).

**2. Search for the Pupil**

Use the search bar to locate the student by typing their name, year group, form, or email address.

**3. Select Impersonate Pupil**

Click the action dropdown menu (`...`) on the right side of the pupil's row and select **Impersonate**.

> [!WARNING]
>
> Impersonation generates a secure, single-use token and temporarily opens a pupil session. Any attendance toggled while impersonating will be logged under the pupil's audit trail.

**4. Inspect the Student View**

You are redirected directly to the pupil's portal (`/pupil`). Verify their scheduled club meetings, fixture results, badges, and attendance records.

**5. Log Out & Return to Staff Session**

Once review is complete, click **Log Out** in the sidebar to terminate the impersonation session and return to your administrative account.

***

### Tutorial 4: Bulk Importing Pupil Rosters via CSV

Learn how administrators import new cohorts or update existing pupil demographic information using spreadsheet uploads.

**1. Access the Pupil Import Tool**

Navigate to **Administration** > **Pupils** and click the **Import** button in the top toolbar (`/admin/pupils/import`).

**2. Prepare the CSV Spreadsheet**

Prepare a standard CSV file with the following column headers:

* `forename`: First name (required)
* `surname`: Family name (required)
* `email`: School email address (required, unique)
* `year`: Academic year group (e.g. `7`, `8`, `Year 9`)
* `form`: Tutor / Form group (e.g. `7A`, `10B`)
* `house`: Assigned school house (e.g. `Redwood`, `Darwin`)
* `sex`: Pupil sex (`M`, `F`, or specified enum value)

**3. Upload & Map Columns**

Click **Choose File**, select your CSV, and review the automatic column mapping. Confirm that each Cleverschool field matches the corresponding header from your source data.

**4. Execute Import & Validate Records**

Click **Run Import**. Cleverschool will process the rows, create new pupil accounts, update matching existing records, and display a summary of imported students.

***

## Next Steps

> [card] [Workflows & Lifecycle](./workflows)
>
> Explore end-to-end student onboarding, attendance verification, and cross-module workflows.

> [card] [Overview](https://docs.cleverschool.systems/pupils/overview.md)
>
> Review the high-level capabilities, benefits, and architectural overview.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.