2883561525
Add monthly revenue trend for analytics when year is specified.
...
Exposes payments.revenue_monthly with Jan–Dec SUCCESS totals (UTC) per currency for dashboard charts.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-17 23:32:36 -07:00
a1696bf1e0
Fix analytics dashboard course counts for LMS and exam_prep hierarchies.
...
Replace stub AnalyticsCourseCounts query and expose lms / exam_prep inventory in the courses section.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-17 22:34:25 -07:00
024a69b74b
Add date-range filtering to analytics dashboard API.
...
Support all-time, year, year+month, and custom from/to query params with filtered metrics and time-series charts.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 02:15:15 -07:00
6a4fe68628
Add full FAQ management APIs and integration assets.
...
Implement public FAQ read endpoints and admin CRUD with RBAC, persistence, and migrations, then regenerate Swagger and add a complete Postman collection so frontend/admin teams can integrate and validate the feature end-to-end.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-11 07:58:17 -07:00
bc2357374b
Add practice-existence flags and refresh API contracts.
...
Expose has_practice booleans for LMS and pre-exam hierarchy entities, wire SQL/repository mappings, and regenerate SQLC/Swagger artifacts. Also update the Resend sender display name for outbound emails.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-08 11:57:11 -07:00
9da9eb77e5
fix dynamic builder runtime mapping for option responses
...
Allow builder-native response kinds like OPTION to resolve to DYNAMIC so schema-driven definition creation succeeds.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-08 10:56:41 -07:00
3d1b3ad9b8
dynamic question type builder completion
2026-05-08 10:12:02 -07:00
f906862676
partly implemented dynamic question builder + payment routes fix
2026-05-07 08:10:21 -07:00
b62d89574e
Include nested lesson and practice counts in exam-prep modules list response.
...
Return per-module lesson and practice aggregates under unit modules listing so clients can render module depth without additional queries.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-05 07:05:35 -07:00
16c3f6b613
Include nested module, lesson, and practice counts in exam-prep units list response.
...
Expose per-unit aggregate counts under catalog-course units listing so clients can display unit depth without extra chained requests.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-05 06:35:13 -07:00
4124f98160
Include nested content counts in exam-prep catalog list response.
...
Add units, modules, and lessons aggregate counts per catalog course so clients can render hierarchy depth without extra API calls.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-05 06:13:01 -07:00
10954d88b0
subscription management fix + duolingo hierarchy implementation
2026-05-04 10:44:18 -07:00
526426d9f9
course practice count fix
2026-04-25 02:41:34 -07:00
5857fce9a0
count data for course
2026-04-25 02:36:52 -07:00
33d34f0dd2
fix: map default CEFR courses to Beginner/Intermediate/Advanced programs
...
Seed A1-A2, B1-B2, and C1-C2 only on their matching programs; add migration
000050 for existing databases. Document mapping in domain.
Made-with: Cursor
2026-04-24 01:14:50 -07:00
5b53929d92
learning progress implementation
2026-04-23 03:58:27 -07:00
6c672c4b20
static data for Courses
2026-04-23 02:07:32 -07:00
9db9c9899a
module+lesson+practice implementations
2026-04-23 01:59:20 -07:00
152478a96c
added program
2026-04-23 00:59:01 -07:00
ce1b827768
refresh token fix
2026-04-17 10:16:25 -07:00
7ff0b639cf
added more structure to submodules
2026-04-17 09:07:25 -07:00
cd8670d5a6
content filtering adjustment
2026-04-07 03:09:44 -07:00
05cb8715f9
seed data clearer API
2026-03-29 01:31:43 -07:00
180e63e975
account deletion API
2026-03-11 06:26:30 -07:00
74efcd5ec2
learning flow + level + sublevel
2026-03-08 05:35:17 -07:00
f9da45da62
minor fixes
2026-03-06 06:03:05 -08:00
0226275d47
customer RBAC
2026-03-05 07:58:48 -08:00
d470b024b4
removed twilio
2026-03-05 01:30:33 -08:00
809ab90d30
bulk notification fix + custom role and permission feature implementation + activity log and user list filters
2026-03-04 09:10:28 -08:00
b5f5d80057
login type fix
2026-02-27 06:38:07 -08:00
130421e971
added cloudconvert for thumbnails + added ratings service
2026-02-18 02:56:08 -08:00
aa6194013c
analytics service + inapp notification websocket fix
2026-02-16 08:36:46 -08:00
7d626d059f
inapp notification fix
2026-02-13 06:59:14 -08:00
0f44e63692
cloud convert integration + more advanced activity log + issue reporting + video file management fixes
2026-02-11 06:54:05 -08:00
97c4f3d28f
team management + minor fixes
2026-02-06 10:47:42 -08:00
834a807edc
vimeo itegration + Google auth and fiberbase messaging minor fixes + profile completed status fix and profile progress (not course progress) tracker immplementation
2026-02-04 09:59:21 -08:00
7f1bf0e7f1
profile picture, birthday format and refresh token expiry fixes
2026-01-28 09:24:31 -08:00
5c3aef24e2
fixes for verify otp's success response structure
2026-01-24 08:48:31 -08:00
64c25699e9
course management and course data seed implementations
2026-01-24 06:29:42 -08:00
d691edae8b
assessment question domain fix
2026-01-21 13:05:18 -08:00
68472b09b1
google auth integration
2026-01-21 12:43:02 -08:00
9ee1d7f714
changed age to agegroup, added refresh route, token generation after otp verification
2026-01-18 03:12:28 -08:00
513927f48f
data seed and authorization fixes
2026-01-14 02:27:26 -08:00
6002b594c6
minimal registeration implementation
2026-01-09 06:35:22 -08:00
19ac718526
initial assessment implementation
2026-01-08 04:42:39 -08:00
7309a2bc83
updated the authentication method from username to email/phone_numner
2026-01-03 06:52:38 -08:00
d94774c138
schema adjustment and profile management fixes
2025-12-31 07:53:59 -08:00
8ed0a5f1c6
course management service
2025-12-30 07:00:02 -08:00
2c907a34db
added inittal assessment feature
2025-12-29 07:59:24 -08:00
915185c317
user and otp schema modification, SMTP setup using resend, afro SMS changed to direct API integration instead of using afoSMS library, most authentications implemented using username instead of email or phone number
2025-12-23 18:57:48 +03:00