Loading...
Loading...
This comprehensive educational management application design addresses the complete lifecycle of multi-school tenant operations in Indonesia, covering kindergarten through high school (TK, SD, SMP, SMA). The system integrates national compliance requirements, modern technology architecture, and tenant-specific management capabilities while supporting Indonesia's unique educational landscape including NISN integration, DAPODIK compliance, local payment systems, **robust flexible billing system**,
# Comprehensive Educational Management System for Indonesian Multi-Tenant Networks
## Executive Summary
This comprehensive educational management application design addresses the complete lifecycle of multi-school tenant operations in Indonesia, covering kindergarten through high school (TK, SD, SMP, SMA). The system integrates national compliance requirements, modern technology architecture, and tenant-specific management capabilities while supporting Indonesia's unique educational landscape including NISN integration, DAPODIK compliance, local payment systems, **robust flexible billing system**, advanced white-label customization, complete student academic history tracking, and enhanced parent portal with multi-language support.
## System Hierarchy and Access Control
### Platform Ownership Structure
- **Platform Owner/System Owner**: Highest level access controlling entire SaaS platform, white-label configurations, student data analytics, and **complete billing management**
- **Tenant Owner/Network Administrator**: Manages multiple schools within tenant network with consolidated student progression reports and **billing dashboard**
- **School Administrator/Principal**: Controls single school operations, white-label branding, student academic transitions, and **parent payment monitoring**
- **Department Head/Coordinator**: Manages specific academic departments with grade progression oversight
- **Teacher/Educator**: Classroom-level access with student history viewing for informed instruction
- **Student**: Access to personal academic information, learning resources, and complete academic timeline
- **Parent/Guardian**: Monitor child's progress, academic history, communicate with school, receive notifications in preferred language, and **manage tuition payments**
- **Support Staff**: Limited access based on role (finance, admin, etc.)
### Role-Based Permissions Matrix
```
Platform Owner:
├── Subscription Management
├── Platform-wide Analytics
├── Tenant Account Creation
├── Language Pack Administration
├── System Configuration
├── Cross-tenant Data Access
├── ✅ White-Label Plan Management
├── ✅ Tenant Pricing Configuration
├── ✅ Billing Analytics & Reports
└── ✅ Revenue Management
Tenant Owner:
├── School Management
├── Tenant-wide Policies
├── Consolidated Reporting
├── Resource Allocation
├── Quality Standards
├── ✅ Cross-School Student History Analytics
├── ✅ Billing Overview
├── ✅ Payment Status Monitoring
└── ✅ Invoice Management
School Administrator:
├── Staff Management
├── Student Enrollment
├── Academic Configuration
├── School-specific Settings
├── Parent Communication
├── ✅ White-Label Branding Control
├── ✅ Student Academic Progression Management
├── ✅ Parent Payment Tracking
└── ✅ Collection Reports
Parent:
├── Multiple Children Management
├── Academic Progress Viewing
├── Communication with Teachers
├── Notification Preferences
├── ✅ Language Customization
├── ✅ Daily Activity Monitoring (KB/TK)
├── ✅ Payment & Financial Access
├── ✅ Online Payment Processing
└── ✅ Payment History & Receipts
```
## I. Core System Architecture
### Multi-Tenant Network Management
- **Tenant Network Dashboard**: Centralized oversight of all schools with real-time KPI monitoring, student progression analytics, and **comprehensive billing metrics**
- **School-Level Customization**: Individual school branding, policies, and configuration within tenant standards
- **✅ White-Label Domain Management**: Custom domain setup with SSL certificate automation and brand consistency
- **Data Isolation**: Secure tenant separation while enabling consolidated reporting, cross-school student tracking, and **isolated financial data**
- **Scaling Infrastructure**: Cloud-native architecture supporting 100,000+ concurrent users with **high-volume transaction processing**
- **Cross-School Analytics**: Comparative performance metrics, benchmarking, student mobility tracking, and **revenue analytics across locations**
- **✅ Multi-Language Architecture**: Support for multiple languages per tenant with parent preference management
- **✅ Automated Billing Engine**: Flexible pricing models with automated invoice generation and collection
### Indonesian Compliance Framework
- **NISN Integration**: National Student Identification Number management and synchronization with academic history preservation
- **DAPODIK Connectivity**: Real-time synchronization with Indonesia's Basic Education Data system including student progression data
- **Kurikulum Merdeka Support**: Alignment with Indonesia's independent curriculum standards with competency tracking
- **Ministry Reporting**: Automated compliance reporting with comprehensive student academic journey data
- **Data Localization**: Indonesian data residency compliance with cross-border transfer controls
- **✅ Tax Compliance**: Automated PPN (11%) calculation, e-Faktur integration, and tax reporting
## II. ✅ Robust Flexible Billing System
### Comprehensive Billing Architecture
The billing system is designed to accommodate diverse business models with complete flexibility in pricing, billing periods, discounts, and automation.
### Dynamic Tenant Pricing Configuration
```typescript
interface TenantBillingConfig {
// Tenant identification
tenantId: string;
tenantName: string;
// Flexible pricing models
pricingModel: {
type: "PER_STUDENT" | "HYBRID" | "TIERED" | "ENTERPRISE";
currency: "IDR" | "USD";
// Per-student pricing
baseStudentPrice: number; // e.g., Rp 10,000 - 20,000
// Optional fixed components
monthlyBaseFee?: number; // Fixed platform fee
includedStudents?: number; // Students included in base fee
// Volume-based discounts
volumeTiers?: Array<{
minStudents: number;
maxStudents: number;
pricePerStudent: number;
discountPercentage?: number;
}>;
};
// Flexible billing periods
billingCycle: {
period: "MONTHLY" | "QUARTERLY" | "SEMI_ANNUAL" | "ANNUAL" | "CUSTOM";
customMonths?: number; // For non-standard periods
// Payment incentives
discounts: {
annualPayment: number; // e.g., 10% for annual
earlyPayment: number; // e.g., 2% within 7 days
multiYear: number; // e.g., 15% for 2+ years
};
// Billing schedule
startDate: Date;
nextBillingDate: Date;
paymentTerms: number; // Days to pay
};
// Contract management
contract: {
type: "STANDARD" | "CUSTOM" | "ENTERPRISE";
startDate: Date;
endDate?: Date;
autoRenewal: boolean;
gracePeriodDays: number;
specialTerms?: string;
};
}
```
### Billing Examples by Tenant Type
#### Example 1: Small School Network (100-500 students)
```typescript
const smallSchoolBilling = {
tenantId: "tenant-001",
tenantName: "Yayasan Pendidikan Harapan",
pricingModel: {
type: "PER_STUDENT",
currency: "IDR",
baseStudentPrice: 10000, // Rp 10,000 per student/month
},
billingCycle: {
period: "MONTHLY",
discounts: {
annualPayment: 10, // 10% discount if paid annually
earlyPayment: 2, // 2% if paid within 7 days
multiYear: 0,
},
paymentTerms: 30, // 30 days to pay
},
};
```
#### Example 2: Medium Network (500-2,000 students)
```typescript
const mediumNetworkBilling = {
tenantId: "tenant-002",
tenantName: "Jaringan Sekolah Nusantara",
pricingModel: {
type: "TIERED",
currency: "IDR",
volumeTiers: [
{ minStudents: 1, maxStudents: 500, pricePerStudent: 12000 },
{ minStudents: 501, maxStudents: 1000, pricePerStudent: 11000 },
{ minStudents: 1001, maxStudents: 2000, pricePerStudent: 10000 },
],
},
billingCycle: {
period: "ANNUAL",
discounts: {
annualPayment: 10, // Already annual
earlyPayment: 3, // 3% early payment
multiYear: 15, // 15% for 2-year commitment
},
},
};
```
#### Example 3: Enterprise Network (2,000+ students)
```typescript
const enterpriseBilling = {
tenantId: "tenant-003",
tenantName: "Grup Pendidikan International",
pricingModel: {
type: "HYBRID",
currency: "IDR",
monthlyBaseFee: 5000000, // Rp 5 million base
includedStudents: 100, // First 100 included
baseStudentPrice: 8000, // Additional students
volumeTiers: [
{ minStudents: 101, maxStudents: 1000, pricePerStudent: 8000 },
{ minStudents: 1001, maxStudents: 5000, pricePerStudent: 7000 },
{ minStudents: 5001, maxStudents: 99999, pricePerStudent: 6000 },
],
},
billingCycle: {
period: "QUARTERLY",
discounts: {
annualPayment: 12,
earlyPayment: 5,
multiYear: 20,
},
},
};
```
### Automated Invoice Generation System
```typescript
class AutomatedBillingEngine {
// Scheduled invoice generation
@Cron("0 0 1 * *") // Run monthly on the 1st
async generateMonthlyInvoices() {
const tenants = await this.getActiveTenants();
for (const tenant of tenants) {
if (this.isDueForInvoicing(tenant)) {
const invoice = await this.createInvoice(tenant);
await this.sendInvoice(invoice);
await this.scheduleReminders(invoice);
}
}
}
// Smart invoice calculation
async createInvoice(tenant: Tenant): Promise<Invoice> {
const config = tenant.billingConfig;
const studentCount = await this.getActiveStudentCount(tenant.id);
const billingPeriod = this.getBillingPeriodMultiplier(config);
// Calculate base charges
let subtotal = 0;
let lineItems = [];
// Apply volume-based pricing
const effectiveRate = this.calculateEffectiveRate(studentCount, config);
const studentCharges = studentCount * effectiveRate * billingPeriod;
lineItems.push({
description: `Student Licenses (${studentCount} × Rp ${effectiveRate.toLocaleString(
"id-ID"
)})`,
quantity: studentCount,
rate: effectiveRate,
amount: studentCharges,
});
subtotal += studentCharges;
// Add base fee if applicable
if (config.pricingModel.monthlyBaseFee) {
const baseFee = config.pricingModel.monthlyBaseFee * billingPeriod;
lineItems.push({
description: "Platform Base Fee",
amount: baseFee,
});
subtotal += baseFee;
}
// Apply discounts
const discounts = this.calculateDiscounts(subtotal, config);
const taxableAmount = subtotal - discounts.total;
const tax = taxableAmount * 0.11; // PPN 11%
return {
invoiceNumber: this.generateInvoiceNumber(),
tenantId: tenant.id,
invoiceDate: new Date(),
dueDate: this.calculateDueDate(config),
lineItems,
subtotal,
discounts: discounts.items,
tax,
total: taxableAmount + tax,
status: "PENDING",
};
}
// Automated payment reminders
async scheduleReminders(invoice: Invoice) {
const reminderSchedule = [
{ days: -7, type: "FRIENDLY" }, // 7 days before
{ days: 0, type: "DUE_DATE" }, // On due date
{ days: 3, type: "OVERDUE" }, // 3 days after
{ days: 7, type: "URGENT" }, // 7 days after
{ days: 14, type: "FINAL" }, // 14 days after
];
for (const schedule of reminderSchedule) {
await this.scheduleReminder(invoice, schedule);
}
}
}
```
### Price History Tracking
```typescript
interface PriceChangeRecord {
id: string;
tenantId: string;
changeDate: Date;
// What changed
changeType: "RATE_CHANGE" | "DISCOUNT_ADDED" | "TIER_UPDATE" | "MODEL_CHANGE";
previousValue: any;
newValue: any;
// Why it changed
reason: string;
approvedBy: string;
// Impact analysis
monthlyImpact: number;
affectedStudents: number;
projectedRevenueDelta: number;
}
// Track all pricing changes
class PriceHistoryService {
async recordPriceChange(
tenantId: string,
change: Partial<TenantBillingConfig>,
reason: string,
approvedBy: string
) {
const currentConfig = await this.getCurrentConfig(tenantId);
const impact = await this.calculateImpact(currentConfig, change);
await this.savePriceHistory({
tenantId,
changeDate: new Date(),
changeType: this.determineChangeType(change),
previousValue: currentConfig,
newValue: change,
reason,
approvedBy,
...impact,
});
// Apply the change
await this.updateTenantConfig(tenantId, change);
}
}
```
### Payment Processing Integration
```typescript
interface PaymentGatewayConfig {
// Indonesian payment methods
providers: {
midtrans: {
serverKey: string;
clientKey: string;
methods: ["bank_transfer", "credit_card", "gopay", "ovo"];
};
xendit: {
apiKey: string;
methods: ["virtual_account", "ewallet", "retail_outlet"];
};
};
// Bank transfer configuration
bankTransfer: {
supported: ["BCA", "Mandiri", "BNI", "BRI", "CIMB"];
virtualAccount: true;
expiryHours: 24;
};
// E-wallet options
eWallets: {
supported: ["GoPay", "OVO", "DANA", "LinkAja", "ShopeePay"];
instantNotification: true;
};
// Automated reconciliation
reconciliation: {
automatic: true;
webhooks: true;
dailyReport: true;
};
}
```
### Billing Analytics Dashboard
```typescript
interface BillingAnalytics {
// Revenue metrics
revenue: {
monthlyRecurring: number; // MRR
annualRecurring: number; // ARR
averagePerTenant: number; // ARPU
growthRate: {
monthly: number;
yearly: number;
};
};
// Collection efficiency
collections: {
collectionRate: number; // % collected on time
averageDaysToPayment: number; // DSO
overdueAmount: number;
overdueAccounts: Array<{
tenantId: string;
daysOverdue: number;
amount: number;
}>;
};
// Tenant health
tenantMetrics: {
totalActive: number;
churnRate: number;
retentionRate: number;
lifetimeValue: number;
healthScore: {
healthy: number; // % healthy accounts
atRisk: number; // % at risk
critical: number; // % critical
};
};
// Pricing optimization
pricing: {
averagePricePerStudent: number;
priceElasticity: number;
discountUtilization: number;
revenueByPricingModel: {
perStudent: number;
hybrid: number;
tiered: number;
enterprise: number;
};
};
}
```
## III. ✅ Advanced White-Label System
### Comprehensive White-Label Architecture
**Multi-Tier White-Label Options:**
```
Basic White-Label (Rp 2,500,000 setup + Rp 1,500,000/month):
├── Custom logo and color scheme
├── Hide platform branding
├── Custom login page design
├── Basic email template customization
├── Subdomain customization
└── ✅ Branded invoices and receipts
Premium White-Label (Rp 5,000,000 setup + Rp 3,000,000/month):
├── All Basic features
├── Custom domain with SSL (www.sekolah.sch.id)
├── Complete CSS customization
├── Custom email templates
├── Mobile app icon customization
├── Custom SEO settings
├── ✅ Branded payment portal
├── ✅ Custom payment confirmation pages
└── Priority white-label support
Enterprise White-Label (Rp 10,000,000 setup + Rp 5,000,000/month):
├── All Premium features
├── Mobile app white-label branding
├── Custom notification templates
├── Advanced domain management
├── Multiple domain support
├── Custom integrations
├── ✅ Complete billing system white-labeling
├── ✅ Custom payment gateway branding
├── Dedicated account manager
└── 24/7 white-label support
```
### White-Label Management System
**Platform Owner Controls:**
- **White-Label Plan Administration**: Create and manage different white-label tiers with flexible pricing
- **Domain Verification System**: Automated DNS verification with multiple verification methods (TXT, CNAME, File Upload)
- **SSL Certificate Management**: Automatic Let's Encrypt integration with renewal tracking
- **Brand Asset Repository**: Centralized management of school logos, color schemes, and branding elements
- **Template Customization Engine**: Visual editor for login pages, email templates, mobile app themes, and **billing documents**
**School-Level Customization:**
- **Visual Brand Builder**: Drag-and-drop interface for complete brand customization
- **Domain Configuration**: Easy setup of custom domains with guided DNS configuration
- **Multi-Channel Branding**: Consistent branding across web, mobile, email, print materials, and **invoices**
- **SEO Optimization**: Custom meta tags, descriptions, and keywords for enhanced search visibility
- **Social Media Integration**: Branded social media links and sharing capabilities
### Advanced White-Label Features
**Custom Domain Management:**
```javascript
// Example domain configuration
const whiteLabelConfig = {
domains: {
primary: "www.sekolahku.sch.id",
redirects: ["sekolahku.sch.id", "portal.sekolahku.sch.id"],
sslEnabled: true,
sslProvider: "letsencrypt",
sslExpiry: "2025-12-31",
},
branding: {
primaryColor: "#1e40af",
secondaryColor: "#64748b",
logo: "https://cdn.sekolah.com/logo.png",
favicon: "https://cdn.sekolah.com/favicon.ico",
fontFamily: "Inter, sans-serif",
},
features: {
hidePlatformBranding: true,
customLoginPage: true,
customEmailTemplates: true,
mobileAppBranding: true,
customCSSSupport: true,
customBillingPortal: true, // ✅ New feature
},
};
```
**Mobile App White-Labeling:**
- **Custom App Icons**: School-specific app icons for iOS and Android
- **Splash Screen Branding**: Custom loading screens with school branding
- **In-App Theme Customization**: Complete color scheme and typography control
- **Custom App Store Listings**: School-specific app descriptions and screenshots
- **Push Notification Branding**: Branded notification templates and icons
## IV. ✅ Comprehensive Student Academic History System
### Complete Academic Journey Tracking
**Enhanced Enrollment System:**
```prisma
// Advanced enrollment tracking with complete history
model Enrollment {
// Basic enrollment information
studentId String
academicYearId String
gradeId String
classId String
enrollmentDate DateTime
completionDate DateTime?
// ✅ Enhanced academic progression tracking
isPromotion Boolean // Is this a promotion from previous grade?
previousGradeId String? // Previous grade for promotion tracking
promotionType PromotionType // REGULAR, ACCELERATED, RETAINED, CONDITIONAL
// ✅ Academic performance context
finalGPA Decimal? // GPA at end of this enrollment period
completionNote String? // Notes about completion status
// ✅ Approval workflow
approvedBy String? // Who approved this enrollment/promotion
approvedAt DateTime? // When it was approved
// ✅ Billing linkage
billingStatus BillingStatus // PAID, PENDING, OVERDUE
tuitionAmount Decimal? // Tuition for this enrollment period
}
enum PromotionType {
REGULAR // Normal grade progression
ACCELERATED // Skip grade / acceleration program
RETAINED // Repeat grade
CONDITIONAL // Promoted with conditions
}
enum BillingStatus {
PAID
PENDING
OVERDUE
EXEMPT
}
```
### Advanced Academic History Features
**Student Progression Analytics:**
- **Complete Academic Timeline**: Visual timeline showing all academic years, grades, and classes
- **Grade Progression Patterns**: Analysis of normal vs. accelerated vs. retained progressions
- **Performance Correlation**: Link academic performance to promotion decisions
- **Intervention Tracking**: Record academic interventions and their outcomes
- **Transfer History**: Complete record of school transfers with academic context
- **✅ Billing History Integration**: View payment status alongside academic progress
**Academic Transition Management:**
```typescript
// Example student history queries
const studentAcademicHistory = {
// Get complete academic journey
getFullHistory: async (studentId: string) => {
return await prisma.enrollment.findMany({
where: { studentId },
include: {
academicYear: true,
grade: true,
class: true,
previousGrade: true,
billingRecords: true, // ✅ New inclusion
},
orderBy: { enrollmentDate: "asc" },
});
},
// Analyze promotion patterns
getPromotionAnalysis: async (studentId: string) => {
return await prisma.enrollment.findMany({
where: {
studentId,
isPromotion: true,
},
include: {
grade: true,
previousGrade: true,
},
});
},
// Get current academic status
getCurrentEnrollment: async (studentId: string) => {
return await prisma.enrollment.findFirst({
where: {
studentId,
status: "ACTIVE",
},
include: {
grade: true,
class: true,
academicYear: true,
billingStatus: true, // ✅ New inclusion
},
});
},
};
```
### Academic Progression Reporting
**Comprehensive History Reports:**
- **Student Academic Portfolio**: Complete academic journey with performance metrics
- **Grade Progression Analysis**: Track normal vs. exceptional academic progressions
- **Retention and Acceleration Reports**: Monitor students requiring additional support or acceleration
- **Cross-School Transfer Reports**: Maintain continuity for students moving between tenant schools
- **Parent Communication**: Detailed academic history for parent-teacher conferences
- **✅ Academic-Financial Correlation**: Analyze relationship between payment status and academic performance
**Predictive Analytics:**
- **At-Risk Student Identification**: Early warning systems based on academic history patterns
- **Promotion Readiness Assessment**: Data-driven recommendations for grade advancement
- **Academic Intervention Planning**: Targeted support based on historical performance patterns
- **College Readiness Tracking**: Long-term academic preparation monitoring
- **✅ Payment Risk Assessment**: Identify students at risk due to payment issues
### Indonesian-Specific Academic Features
- **Kurikulum Merdeka Progression**: Track P5 (Projek Penguatan Profil Pelajar Pancasila) development over time
- **Character Development Timeline**: Monitor Profil Pelajar Pancasila growth across academic years
- **Religious Education Progression**: Track Islamic studies or religious education advancement
- **Cultural Competency Development**: Monitor Indonesian cultural education and local content mastery
## V. ✅ Enhanced Parent Portal System
### Comprehensive Parent Features
The parent portal provides a complete view of their children's educational journey with multi-language support, education level-appropriate notifications, and **integrated payment management**.
### Parent Dashboard Components
**Multi-Child Management:**
- Switch between multiple children seamlessly
- Aggregate view of all children's activities
- Comparative academic performance
- **✅ Consolidated payment information for all children**
**Academic Information Access:**
- Real-time grade updates
- Assessment results and feedback
- Downloadable report cards
- Academic history timeline
- Achievement gallery
- Teacher feedback and comments
**✅ Enhanced Financial Management:**
```typescript
interface ParentFinancialDashboard {
// Overview
totalOutstanding: number;
nextPaymentDue: Date;
paymentHistory: Payment[];
// Per-child breakdown
childrenPayments: Array<{
childId: string;
childName: string;
grade: string;
// Current charges
tuitionFee: number;
additionalFees: Fee[];
totalDue: number;
dueDate: Date;
// Payment plan
paymentPlan: {
type: "MONTHLY" | "QUARTERLY" | "ANNUAL";
installments: Installment[];
remainingBalance: number;
};
// Status
status: "PAID" | "PENDING" | "OVERDUE" | "PARTIAL";
}>;
// Payment methods
savedPaymentMethods: PaymentMethod[];
preferredMethod: string;
// Actions
makePayment: (amount: number, method: string) => void;
downloadInvoice: (invoiceId: string) => void;
setupAutoPay: () => void;
requestPaymentPlan: () => void;
}
```
**Communication Hub:**
- Direct messaging with teachers
- Appointment scheduling
- School announcements
- Event calendar
- Emergency notifications
- Parent-teacher conference booking
- **✅ Payment reminder preferences**
### Multi-Language Support for Parents
**Simplified Language Preference Management:**
```javascript
const parentLanguageSettings = {
preferredLanguage: "id", // Single language preference
// This single preference applies to all contexts
applicationScope: {
webInterface: true,
mobileApp: true,
emailNotifications: true,
pushNotifications: true,
smsNotifications: true,
reportCards: true,
invoices: true, // ✅ Invoices in preferred language
paymentReceipts: true, // ✅ Receipts in preferred language
teacherCommunication: true,
schoolAnnouncements: true,
},
// Language change history for tracking
languageHistory: [
{
language: "id",
changedAt: "2025-01-15T10:00:00Z",
changedBy: "parent_self",
},
],
};
```
**Available Languages:**
- Bahasa Indonesia (id) - Default
- English (en)
- Mandarin Chinese (zh)
- Additional languages as configured by tenant
**Unified Language Experience:**
1. **Web & Mobile Interface**: All UI elements, menus, buttons, and labels displayed in preferred language
2. **Notifications**: All push notifications, emails, and SMS sent in preferred language
3. **Documents**: Report cards, invoices, and official documents generated in preferred language
4. **Communication**: Default language for teacher-parent messaging (teachers see parent's preferred language)
5. **✅ Financial Communications**: All billing-related communications in preferred language
### Education Level-Specific Features
#### Kelompok Bermain (KB) / Playgroup (Age 2-4)
**Daily Activity Tracking:**
- Arrival/departure photos with timestamps
- Meal tracking with photos
- Nap schedule and duration
- Bathroom visits tracking
- Mood monitoring throughout the day
- Activity participation photos
- Teacher's daily notes
**Real-time Notifications:**
- Safe arrival confirmation
- Pick-up reminders
- Health alerts (fever, minor injuries)
- Special moment photos
- Daily summary at 3 PM
#### Taman Kanak-Kanak (TK A/B) (Age 4-6)
**Development Milestone Tracking:**
- Motor skill development progress
- Social skill observations
- Early literacy progress
- Numeracy skill tracking
- Character development (Profil Pelajar Pancasila)
- Weekly progress reports
**Enhanced Communication:**
- Weekly development summaries
- Upcoming activity requirements
- Parent involvement opportunities
- Learning resources for home
#### Sekolah Dasar (SD) (Grade 1-6)
**Academic Focus:**
- Homework tracking and reminders
- Test/quiz results
- Project deadlines
- Class participation reports
- Subject-wise performance
- Remedial class notifications
**Behavioral Monitoring:**
- Attendance patterns
- Discipline records
- Positive behavior recognition
- Peer interaction reports
#### Sekolah Menengah Pertama (SMP) (Grade 7-9)
**Pre-Teen Support:**
- Academic performance trends
- Career guidance insights
- Extracurricular participation
- Counseling session summaries
- High school preparation progress
- Subject selection guidance
**Reduced Notification Frequency:**
- Weekly academic summaries
- Critical alerts only
- Monthly progress reports
- Term-end comprehensive reviews
#### Sekolah Menengah Atas (SMA) (Grade 10-12)
**University Preparation:**
- GPA tracking and trends
- University readiness assessments
- Standardized test preparation
- Scholarship opportunities
- Career counseling outcomes
- College application deadlines
**Minimal Intervention Approach:**
- Monthly performance summaries
- Critical academic alerts
- Graduation requirement tracking
- University application support
### Smart Notification System
**Notification Optimization by Education Level:**
```javascript
const notificationStrategy = {
KB: {
frequency: "high",
channels: ["push", "whatsapp"],
timing: ["07:30", "15:00", "19:00"],
batchNonUrgent: false,
},
TK: {
frequency: "high",
channels: ["push", "whatsapp", "email"],
timing: ["08:00", "15:00", "19:00"],
batchNonUrgent: false,
},
SD: {
frequency: "medium",
channels: ["push", "email"],
timing: ["08:00", "16:00", "20:00"],
batchNonUrgent: true,
digestTime: "19:00",
},
SMP: {
frequency: "low",
channels: ["email", "app"],
timing: ["weekly"],
batchNonUrgent: true,
digestDay: "Friday",
},
SMA: {
frequency: "minimal",
channels: ["email", "app"],
timing: ["monthly"],
criticalOnly: true,
},
};
```
**Intelligent Notification Categories:**
1. **Critical (All Levels)**
- Emergency health issues
- Unexcused absence
- Safety concerns
- Urgent parent conference
2. **Academic (Varies by Level)**
- KB/TK: Development milestones
- SD: Test results, homework
- SMP/SMA: GPA changes, major assessments
3. **Financial (All Levels)**
- Payment due reminders
- New invoice generated
- Payment confirmation
- Overdue notices
4. **Behavioral (KB-SMP)**
- Positive recognition
- Discipline issues
- Social development
- Counseling updates
5. **Administrative (All Levels)**
- School closures
- Event invitations
- Policy updates
- Schedule changes
### Parent Engagement Analytics
**Tracking Parent Involvement:**
- Portal login frequency
- Report card views
- Message response rates
- Event participation
- Payment timeliness
- Feature usage patterns
**Engagement Improvement:**
- Personalized content recommendations
- Optimal notification timing
- Preferred communication channels
- Language preference analysis
- Feature adoption suggestions
> 屬於 [research/](./README.md)。涵蓋 LLM-as-Judge、Reasoning Model、評估維度、Judge 設計原則。
> ⚠️ Note (Option A): `hwp-web (planned)` is intentionally excluded/disabled in this repo snapshot.
Here are three new, highly specialized AI agents for the T20 framework:
The **LLM Judge** is LLMTrace's third security detector alongside the