How mxlitey/pai-docker works
This is a self-hosted education-center scheduling, administration, and billing system. Staff manage student and course records, enrollments, schedules, attendance, and transfers; the system supports reporting and parent access to schedules and feedback. The React app calls a Node HTTP server, which dispatches API modules into SQLite-backed stores. The graph preserves the README’s major operational, financial, reporting, collaboration, and system-management capabilities. Sampled source confirms the server/API/store pattern and enrollment updates; several other subsystem links follow documented API and product behavior rather than inspected implementation.
Main entry points: api API routes · core.js SQLite database · App.tsx React app · index.ts API client
Components 23
Web application
- React app
src/App.tsx - Search and calendar
src/components/Search/PublicSearch.tsx - Parent H5
src/components/Parent/ParentH5.tsx - Admin workspace
src/components/Admin/AdminPanel.tsx - API client
src/api/index.ts
HTTP and access
- HTTP server
server.js - Auth and RBAC
node-functions/_lib/auth.js - API routes
node-functions/api
Teaching operations
- Enrollment and billing
node-functions/_lib/store/enrollments.js - Scheduling and changes
node-functions/_lib/store/schedules.js - Attendance
node-functions/api/attendance.js - Teacher feedback
node-functions/_lib/store/feedback.js - Account balances
node-functions/_lib/store/accounts.js
Records and insights
- Student records
node-functions/_lib/store/students.js - Courses and classes
node-functions/_lib/store/courses.js - Reports and performance
node-functions/_lib/store/reports.js - SQLite database
node-functions/_lib/store/core.js
System management
- System configuration
node-functions/_lib/config-file.js - Announcements
node-functions/_lib/store/announcements.js - Audit and archives
node-functions/_lib/store/audit.js - Backup and restore
node-functions/_lib/store/backups.js
Other components
- Staff
- Parents
Connections 34
- Staff → React app: uses
- Parents → Parent H5: opens link
- React app → Search and calendar: shows search
- React app → Admin workspace: shows admin
- Search and calendar → API client: searches and queries
- Parent H5 → API client: requests access
- Admin workspace → API client: manages records
- API client → HTTP server: HTTP requests
- HTTP server → API routes: dispatches routes
- API routes → Auth and RBAC: checks permissions
- API routes → Student records: reads and updates
- API routes → Courses and classes: reads and updates
- API routes → Enrollment and billing: creates and updates
- API routes → Scheduling and changes: creates and queries
- API routes → Attendance: records attendance
- API routes → Teacher feedback: manages feedback
- API routes → Reports and performance: builds reports
- API routes → Announcements: manages announcements
- API routes → Audit and archives: records changes
- API routes → Backup and restore: manages backups
- Enrollment and billing → Account balances: adjusts balance
- Student records → SQLite database: reads and writes
- Courses and classes → SQLite database: reads and writes
- Enrollment and billing → SQLite database: reads and writes
- Scheduling and changes → SQLite database: reads and writes
- Attendance → SQLite database: records status
- Teacher feedback → SQLite database: reads and writes
- Account balances → SQLite database: reads and writes
- Reports and performance → SQLite database: queries data
- Announcements → SQLite database: reads and writes
- Audit and archives → SQLite database: stores audit data
- Backup and restore → SQLite database: backs up
- API routes → System configuration: reads and updates
- React app → Announcements: loads announcement