Skip to main content

1. Core & Institutional Identity

These tables define the school entities, administrative users, and the initial registration lifecycle.

schools

Stores the metadata for each school instance.

users

Global administrative users responsible for managing the platform.

registrations

Tracks new school registration requests from the public landing page.

2. Staff & Resource Management

Manages school employees, their roles (RBAC), and their assignments to students.

staff

Primary registry for teachers and school staff.

staff_student

Mapping table that assigns students to specific teachers.

staff_address

Stores residential information for staff members.

staff_designation

Pre-defined job roles with template RBAC permissions.

staff_leave

Leave applications and approval status for school employees.

3. Student & Parent Ecosystem

The core registry relating students, their guardians, addresses, and parent authentication.

students

The central model for all student-related data.

student_address

Physical address tracking for students (Permanent/Current).

student_guardian

Auxiliary guardian information (Alternative contacts).

parent_details

Authentication and profile data for parents.

4. Academic & Daily Operations

Tracks the daily flow of school life: attendance, food, calendar, and notices.

academic_events

School calendar events, holidays, and exams.

student_attendance

Daily presence tracking.

noticeboards

Official announcements broadcasted to the school or specific segments.

food_menus

Defines available food items and nutritional information.

food_menu_schedule

Scheduling for menus (which menu on which day).

5. Communication & Engagement

Interactive modules for homework, activities, and ticketing.

digital_diary

Assignments and logs posted to specific grades or students.

activities

Visual logs of student participation and extracurricular updates.

write_to

Direct communication/ticketing from parents to staff.

write_to_replies

Messages in a ticket conversation threads.

comments

Social layer for comments on diary, activities, etc.

reactions

Like/Love reactions on various entities.

6. Infrastructure & Security

Tables managing background tasks, sessions, and database state.

parent_devices

Registers parent devices for push notifications and mobile sessions.

staff_sessions

Active sessions for staff members on the mobile app.

user_sessions

Web sessions for administrative users.

failed_jobs

Logs for background worker failures.

personal_access_tokens

API tokens for different entities (admins, external integrations).

Pulse Monitoring

Tables used for performance tracking and resource usage.
  • pulse_aggregates: Stores calculated metrics (sum, avg) over buckets of time.
  • pulse_entries: Real-time snapshots of system metrics.
  • pulse_values: Key-value pairs of system state at specific timestamps.

Relational Architecture

1. Multi-Tenancy Logic

The skole_id is the Universal Partition Key. Every query in the application must include this filter to ensure that Data from School A is never visible to School B.

2. Parent-Student Linkage

Unlike a direct Foreign Key, parents are linked to students via:
  • parent_details and student_guardian matching via student_roll_no.
  • staff_student mapping for teacher access control.

3. Soft Deletion Policy

Content tables (activities, digital_diary, noticeboards, write_to) utilize an integer deleted_status.
  • 0: Visible/Active.
  • 1: Soft-deleted (Excluded from most queries).