Student Information System (SIS)

A comprehensive, multi-tenant Student Information System managing districts, campuses, students, and academics with robust security.

Developed by Blue Fairy Development

✨ Key Features

🔐 Authentication & Authorization

  • RBAC: Role-Based Access Control via/ Spatie Permissions.
  • Roles: Super Admin, School Admin, Teacher, Student, Parent, Applicant.
  • Login Audit: Tracks IP, User Agent, and Timestamps for all attempts.

🏫 School Structure

  • Multi-Tenancy: Support for multiple School Systems (Districts/Networks).
  • Campus Management: Individual school settings, addresses, and contacts.

📅 Academic Calendar

  • Hierarchy: Years → Semesters → Quarters.
  • Data Integrity: Logical enforcement of dates and sort orders.
  • Calendar Generator: One-click generation of all weekdays for a school year; edit individual days for holidays and special designations.

📚 Academics & Scheduling

  • Curriculum: Subjects linked to specific Course Catalogs.
  • Grouping: Standardized Grade Levels and Sections.
  • Progression: Automated logic for grade advancement.

🎓 Student Management

  • Profiles: Demographics, Contact Info, State IDs.
  • Enrollment: Status tracking (Active/Graduated), Enrollment Codes.
  • School Association: Multi-school history via school_students.

📝 Attendance System

  • Tracking: Granular Period or Daily attendance.
  • Codes: Admin-managed custom attendance codes (Absent, Tardy, Excused, and more) that apply live across all attendance screens.
  • Daily Summary: Admin view of attendance by course and period.
  • Teacher Portal: Dedicated take-attendance page with full custom code support.
  • Logic: Automated daily rollup calculations.

📊 Grading & Report Cards

  • Unified Gradebook: Multi-course tabbed gradebook with class averages, by-student, by-assignment, and summary views.
  • Assignment Types: Configurable weighted categories (Homework, Quiz, Exam, etc.) per course with drop-lowest support and importable global templates.
  • Final Grades: Calculate and publish final grades with automatic parent notification.
  • Performance: Automated GPA & Transcript generation.
  • Grade Report: Full per-course assignment breakdown view.
  • Snapshots: Finalized Report Card storage separate from live data.

👩‍🏫 Teacher Portal

  • Classroom: Rosters and Guardian contacts.
  • Live Tools: Grade entry, Assignment management, Attendance taking.

🏫 School Dashboard Live Panels

  • Class Management: Instant at-a-glance count of active courses, enrolled students, and active staff — with a one-click link to course management.
  • Performance Stats: Six live metrics — attendance rate, absences today, tardies this week, average grade, students below 70%, and total missing assignments.
  • Recent Activity Feed: The 10 most recent school-wide events (enrollments, grades posted, attendance marked, staff additions) with colour-coded type indicators.

👪 Parent Portal

  • Assignments: See all assignments across linked children — filterable by child, with card and grid views. Missing assignments display a distinct "Missing" badge and filter — not incorrectly shown as graded.
  • Attendance: Browse attendance records with date-range filter and per-code badge breakdown.
  • Classes & Goals: Browse enrolled courses, drill into course-level assignments, and track student goals.

📚 IEP System (IDEA-Compliant)

  • Full IDEA Lifecycle: Referral → evaluation → eligibility → IEP meeting → active IEP → annual review → triennial re-evaluation, all tracked in one place.
  • Document Builder: PLAAFP, measurable annual goals, service plans, accommodations, and multi-party signatures — with PDF export and tokenised external signing.
  • Service Logs: Teachers log service sessions with attendance and per-goal progress ratings directly from their dashboard.
  • Parent Portal: Parents view the IEP, acknowledge receipt, and communicate with the team via a comment thread — including meeting requests with status tracking.
  • Deadline Automation: Automated 90/60/30-day deadline reminders and escalation notifications; re-evaluation due-date tracked at 3-year intervals.
  • Email Notifications: Queued emails notify parents when the IEP is activated, signatures are requested, staff respond to comments, or meeting requests are updated.

🏆 Activities & Eligibility

  • Activity Management: Sports, clubs, and programs with type, season, and GPA threshold.
  • Course Linking: Activities can be flagged as having associated courses (typical for sports) and linked to one or more academic courses via a pivot table.
  • Eligibility Gate: GPA-based eligibility checks with teacher entry, override support, and bulk parent notifications.
  • Student GPA Overview: Teachers see every student's cumulative GPA and eligibility status (Eligible / Ineligible / No GPA) in one place, independent of activity assignments.
  • Enrollment: Single and bulk student enrollment with roster management.

💬 Messaging System

  • Rich Text: Integrated TinyMCE editor.
  • Security: DOMPurify sanitization.
  • Interface: Inbox/Sent previews with secure HTML rendering.

📋 Applicant Portal

  • Online Application: Prospective students apply online and check their application status from a dedicated dashboard.
  • Document Uploads: Applicants can upload supporting materials (essays, transcripts, recommendation letters) before enrollment is complete — no school or year assignment required.
  • Course Requests: Students submit course requests for the next term; the feature can be globally enabled or disabled by administrators via a simple config toggle.

⚙️ System Administration

  • Audit Logs: Deep payload inspection (JSON deltas) for all model changes.
  • Config Settings: Hierarchical scope fallback (school → system → global), tabbed UI with type-aware fields (toggles, JSON editors), per-scope overrides, and branding logo management at both school system and school levels with role-aware resolution.
  • Optimization: High-performance Seeding (~1GB RAM efficient) & Eager-loading API.
  • User Account Creation: Admins create student, parent, and teacher accounts directly via a guided wizard — no self-registration required. Supports "set password" or "send invite email" credential modes.
  • Role Conversion: Convert any user to parent or teacher from the user list or their profile page, with scoped school assignment for teacher conversion.

📄 Public Content Pages (CMS)

  • Publish instantly: Create and publish content pages (About, Contact, Policies) accessible to the public at /cms — no developer required.
  • Organised structure: Nest pages into parent-child trees to keep related content grouped and easy to navigate.
  • Breadcrumb trails: Visitors always know where they are — child pages display a "Pages › Parent › Current" breadcrumb trail automatically.
  • Nested dropdown navigation: Top-level nav items with child pages automatically render as animated dropdown menus in the site header.
  • Safe hierarchy editing: Admin prevents circular references and self-assignment when setting a parent page — the system validates and rejects invalid configurations.
  • Navigation control: Choose which pages appear in the site navigation menu.
  • SEO-ready: Set a meta description on each page for better search engine visibility.
  • Draft & publish workflow: Compose pages privately before making them public.

🔑 API Token Management

  • Tokens: Create personal access tokens with granular abilities and optional expiration.
  • Security: One-time plain-text reveal, instant revocation, multi-tenant scoping.
  • Audit: Full logging of all token create/revoke operations.

🎨 Full Theming Engine

  • Per-school branding: Set primary/secondary colors, sidebar, topbar, card backgrounds, and font family independently at school-system or school scope.
  • CSS custom properties: All UI surfaces consume brand tokens — no hard-coded colors in the shell. Changes are instant with no redeploy required.
  • Auto-derived tokens: Hover shades and text contrast colors computed automatically from base brand colors using the HSP luminance formula.
  • Artisan setup command: app:setup-branding configures all 13 design tokens in one command for any scope.
  • Color picker in admin UI: Branding color fields render a native color picker instead of a plain text box for instant visual editing.
  • Logo image support: Display a custom image logo alongside (or instead of) the text application name across all layouts.
  • Enhanced elevation system: Recalibrated CSS shadow scale with visibly deeper shadows for improved depth perception across cards and panels.
  • Fully themed auth screens: Login, register, and splash pages consume the same CSS variable tokens — zero hard-coded colors on any public-facing screen.

🛠 Technical Stack

🚀 Getting Started

Database Seeding

The system comes with a robust seeding suite to populate initial data for testing.

php artisan migrate:fresh --seed

What gets seeded: