kavehhn
22b57eeae2
Add professor share calculation and financial reporting feature
...
Introduces per-class payout configuration (percentage or hourly rate,
plus an optional per-session expense allowance), pure calculation
utilities for professor payout/net profit/receivables, and a new
financial-reports API surface with per-class, per-session, and
date-range/monthly reports. Also adds full CRUD for institutional
expenses used in the range report, and wires up the new permissions
and roles. Fixes a pre-existing ReferenceError (missing
parseImportDate import) in paymentService that blocked creating
payments with dated transactions.
2026-08-21 12:19:09 +03:30
kavehhn
091e519280
Add sessionHolding template, unique 8-digit codes, reason slot for sessionCancelled, and disable unused notifications
2026-08-21 10:44:51 +03:30
kavehhn
0d57854dc3
Add class numberOfSessions and fix attendance completion detection.
...
Sessions with full student attendance are now excluded from the pending list reliably by loading class rosters from the database.
2026-08-16 08:55:03 +03:30
kavehhn
cd98adff84
feat: add pending student registration flow and pricing APIs.
...
Support public class lookup, user provisioning, installment pricing, and admin approval before final enrollment.
2026-08-16 08:42:25 +03:30
kavehhn
f57d8bbdfa
feat: add class discounts, frontend visibility, and public listing
...
Add hasDiscount, freeSpots, and showOnFrontend on classes with a public get-all endpoint and richer notification user populate.
2026-08-16 08:11:42 +03:30
kavehhn
4d60755a95
feat(classes): store weekdays and meeting times on the class
...
Keep the class schedule on the class itself so SMS and listings do not have to infer days and hours from sessions.
2026-08-15 23:59:07 +03:30
kavehhn
192c595c68
feat: add password change, class unenroll, and optional notify flags
...
Let admins skip SMS on user, class, and invoice actions, and let users change their own password with the current one.
2026-08-15 23:48:18 +03:30
kavehhn
0cdb9cec20
feat(sms): send class start date, days, and course time
...
Expose schedule fields on class and invoice templates so SMS can include Jalali start date, weekdays, and hour range.
2026-08-15 23:09:04 +03:30
kavehhn
7394829d49
fix: honor table search q param on users and related lists
...
Dashboard sends q, but users/classes/payments ignored it; accept q/search and normalize Persian digits.
2026-08-15 02:57:19 +03:30
kavehhn
5c2fad4b44
feat: add adminNotes and registered class counts for users
...
Expose nationalId aliases and enrollment counts on user list responses, and store admin notes on users, classes, and sessions.
2026-08-15 02:39:10 +03:30
kavehhn
bf5e66fa95
feat: add append-only course/user data import and expand user profile
...
Support uploading structured JSON to create courses, classes, and students without wiping existing data, and merge user name fields while adding gender and registration details from source sheets.
2026-08-15 01:31:44 +03:30
kavehhn
f04c797be6
Initial commit: teaching institution management API.
...
Express/MongoDB backend with JWT auth, RBAC, S3 uploads, notifications, and scheduled jobs.
2026-08-09 04:18:08 +02:00