How kak0yt0-che1/rolab-crm works
ROLAB is a lesson-management CRM for schools and kindergartens. Admins and teachers use the browser interface to manage schedules and classes; teachers record lesson outcomes and attendance, while administrators also manage organizations, staff, children, payments, and reports. Payment calculation combines client and teacher rates with attendance and lesson prices. The diagram follows the documented API and README capabilities; most route implementations and the teacher-facing UI were not sampled, so uncertain internal call links are omitted.
Main entry points: server.js Express server · connection.js MongoDB connection · payments.js Payments and settlements · models Domain records
Components 23
Browser interface
- Admin interface
public/js/admin.js - API client
public/js/api.js
API and access
- Express server
server.js - JWT access control
middleware/auth.js - Login and account
routes/auth.js
Teaching operations
- Organizations
routes/companies.js - Teachers and rates
routes/teachers.js - Children
routes/children.js - Schedule
routes/schedule.js - Schedule drafts
routes/scheduleDrafts.js - Lessons and substitutions
routes/lessons.js - Attendance
routes/attendance.js
Finance and reporting
- Payments and settlements
routes/payments.js - Payment rules
utils/payment.js - Reports and exports
routes/reports.js
Persistence
- MongoDB connection
database/connection.js - User records
models/User.js - Company records
models/Company.js - Lesson records
models/Lesson.js - Attendance records
models/Attendance.js - Domain records
models
Other components
- Administrator
- Teacher
Connections 35
- Administrator → Admin interface: uses
- Teacher → API client: uses
- Admin interface → API client: calls
- API client → Express server: sends requests
- Express server → Login and account: dispatches
- Express server → Organizations: dispatches
- Express server → Teachers and rates: dispatches
- Express server → Children: dispatches
- Express server → Schedule: dispatches
- Express server → Schedule drafts: dispatches
- Express server → Lessons and substitutions: dispatches
- Express server → Attendance: dispatches
- Express server → Payments and settlements: dispatches
- Express server → Reports and exports: dispatches
- Express server → MongoDB connection: connects
- Login and account → JWT access control: checks identity
- Login and account → User records: reads and updates
- Organizations → Company records: manages
- Teachers and rates → User records: manages accounts
- Children → Domain records: manages children
- Schedule → Domain records: reads and writes
- Schedule drafts → Domain records: manages drafts
- Lessons and substitutions → Lesson records: manages lessons
- Attendance → Attendance records: records marks
- Payments and settlements → Payment rules: calculates amounts
- Payments and settlements → Lesson records: reads lessons
- Payments and settlements → Attendance records: reads attendance
- Payments and settlements → Domain records: reads and updates
- Reports and exports → Payment rules: uses calculations
- Reports and exports → Lesson records: reads lesson data
- MongoDB connection → User records: persists
- MongoDB connection → Company records: persists
- MongoDB connection → Lesson records: persists
- MongoDB connection → Attendance records: persists
- MongoDB connection → Domain records: persists