Skip to main content

SKOLE-STAF — Staff Management Module

Module ID: SKOLE-STAF | Version: 1.0 | Status: Active
Products: Web App (admin only)

1. Overview

Scope In

  • Create, update staff records
  • Assign designations with RBAC JSON permissions
  • Manage staff addresses
  • Track leave
  • Assign students to staff members

Scope Out

  • Payroll
  • Biometric integration

2. Requirements

Functional Requirements (FR)

What the module must DO — actions, behaviors, and outcomes.
  • SKOLE-STAF-FR001: The module shall allow admins to create staff records including name, designation, and contact details.
  • SKOLE-STAF-FR002: The module shall enable admins to define designations and associate them with RBAC JSON configuration.
  • SKOLE-STAF-FR003: The module shall allow admins to assign students to staff members for academic management.
  • SKOLE-STAF-FR004: The module shall enable recording and management of staff leave requests.
  • SKOLE-STAF-FR005: The module shall allow admins to toggle staff status between active and inactive.

Non-Functional Requirements (NFR)

How well the module must do it — performance, security, and reliability.
  • SKOLE-STAF-NFR001: The module shall behave as a security gate by using the RBAC JSON to control module-level access in the Teacher application.
  • SKOLE-STAF-NFR002: The module shall perform multi-tenant isolation by scoping all staff records strictly to the skole_id.

Constraints

Rules and boundaries — tech choices and platform restrictions.
  • C001: We must use a JSON-based RBAC model for designations to allow for flexible permission changes without schema migrations.
  • C002: We must separate staff personal data from their institutional roles to support designation history in the future.

3. Sub-modules / Backlog


4. Logical Implementation

RBAC JSON Example (staff_designation.rbac)

This JSON is read by the Teacher App on login and gates which tabs/features are visible.

5. UI Requirements

Web App

Components:

6. Conditional Expressions


7. Database Tables


8. API Endpoints