Commit Graph

195 Commits

Author SHA1 Message Date
afdd07d65d Update learner progress to use practice completions only.
Remove lesson completion from learner progress percentages, access completion snapshots, and LMS rollups while keeping generated SQLC and Swagger artifacts in sync.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 03:27:54 -07:00
3f73afb4bf Add video engagement tracking and analytics metrics.
Record playback heartbeats via POST /api/v1/videos/engagement/heartbeat and expose completion, replay, and drop-off rates on the analytics dashboard.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-24 02:59:46 -07:00
e957eacf80 Add profile field breakdowns to analytics dashboard.
Expose user counts by education_level, occupation, learning_goal, and language_challange on GET /api/v1/analytics/dashboard.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-22 09:54:47 -07:00
31bd1e3814 Add team member email invitations for admin panel onboarding
Introduces invite, verify, accept, resend, and revoke flows using team_members and invitation tokens, sends the branded invitation template, and requires account activation before team login.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-22 03:43:00 -07:00
5399d33af6 Add optional gender to LMS personas.
Migration 000065 adds nullable gender text column; persona API and Postman expose it alongside profile_picture.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-20 06:37:21 -07:00
6ab077b53d Rename LMS persona image field to profile_picture.
Add migration 000064 renaming avatar_url column; expose profile_picture in API, sqlc, and Swagger.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-20 06:17:15 -07:00
873be1b482 Add LMS personas catalog and CRUD API.
Introduce lms_personas table, repoint practice persona_id FKs off users, validate persona refs on LMS and exam-prep practice flows, personas.* RBAC permissions, and OpenAPI docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-20 06:06:42 -07:00
bd1767d2a6 Add LMS lesson draft and publish visibility.
Migration 000062 adds lessons.publish_status (DRAFT default for new rows; existing rows published). Editors see all lessons; learners see published-only lists and GET by id. Sequential prerequisites and completion counts ignore drafts. Course lesson_count counts published lessons only. Swagger documents publish_status on create/update bodies.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-20 02:16:42 -07:00
12ad59c409 Add draft vs published status for LMS and exam-prep practices.
Expose publish_status on create/update, filter learner-facing lists and gates, and add migration 000060.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-19 03:57:43 -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
3d1b3ad9b8 dynamic question type builder completion 2026-05-08 10:12:02 -07:00
10954d88b0 subscription management fix + duolingo hierarchy implementation 2026-05-04 10:44:18 -07:00
5b53929d92 learning progress implementation 2026-04-23 03:58:27 -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
de95c4d0d2 feat: practice detail API, inactive purge tracking, and related plumbing
- Add GET /api/v1/course-management/practices/:practiceId/detail with full question items

- Add migration 000040 for sub-module content inactive purge tracking

- Hierarchy queries, sqlc gen, config/app purge job, swagger refresh

Made-with: Cursor
2026-04-20 08:24:59 -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
c5d3935062 added more structure to levels 2026-04-17 08:33:58 -07:00
518c3ee751 added more structure to lessons 2026-04-17 08:27:40 -07:00
3889334e3f query fix 2026-04-14 08:42:19 -07:00
7613eb583a new course management hierarchy 2026-04-10 03:06:30 -07:00
05cb8715f9 seed data clearer API 2026-03-29 01:31:43 -07:00
800d2a4b3a MinIO integration + speaking implementation adjustment 2026-03-12 07:06:16 -07:00
74efcd5ec2 learning flow + level + sublevel 2026-03-08 05:35:17 -07:00
3500db6435 learning flow fixes 2026-03-07 08:18:13 -08:00
0226275d47 customer RBAC 2026-03-05 07:58:48 -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
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
0f44e63692 cloud convert integration + more advanced activity log + issue reporting + video file management fixes 2026-02-11 06:54:05 -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
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
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
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
5e9046eb76 user and auth service refactoring, notification service SQL + repository adjustment 2025-12-16 18:05:57 +03:00
13c470079c virtual_game_providers based SQL queries primary ID data type mismatch fix 2025-11-27 17:56:52 +03:00
299825e797 favourtie game and virtual games + providers orchestration fixes 2025-11-18 16:39:37 +03:00
1c7e076be5 direct depost and veli games fix 2025-11-17 18:45:18 +03:00
ab1d85897e Merge remote-tracking branch 'origin/virtual_games' 2025-11-06 18:28:50 +03:00
d654d5f2ef veli games fixes 2025-11-06 16:37:41 +03:00
46d70d7c8c chapa minor fixes 2025-11-03 17:20:35 +03:00
8d3127ff53 fix: disabling all odds market 2025-11-01 23:24:01 +03:00
485cba3c9c feat: Add new stat stores and reporting functionalities for bets, branches, and wallets
- Introduced BetStatStore, BranchStatStore, and WalletStatStore interfaces for handling statistics.
- Implemented repository methods for fetching and updating bet, branch, and wallet statistics.
- Created reporting services for generating interval reports for bets, branches, companies, and wallets.
- Enhanced CSV writing functionality to support dynamic struct to CSV conversion.
- Added cron jobs for periodic updates of branch and wallet statistics.
- Updated wallet handler to include transaction statistics in the response.
2025-10-29 07:14:38 +03:00