Commit Graph
124 Commits
Author SHA1 Message Date
Nwosu EmmanuelandRotimi Best ec3875bac2 feat: course analytics (#574)
* feat: added anaytics for the course page

* feat: Added pagination

* feat: cleanup

* feat: added translations

* feat: added fixes

* my improvements

---------

Co-authored-by: Rotimi Best <[email protected]>
2025-09-18 01:00:49 +01:00
Nwosu Emmanuel f3de6a063e feat: Trigger confirm warning for unsaved changes (#547)
* added the triger warning for the settings page

* all done

* added translation to the window message

* window issue now fixed
2025-09-16 09:21:41 +01:00
Rotimi Best caa48003af fix: include types 2025-09-15 19:15:50 +01:00
Rotimi Best 98acd93133 fix: disable accept button if still fetching user details 2025-09-10 20:39:16 +01:00
Rotimi Best f60809a249 fix: only redirect in layout only if on redirect page 2025-09-10 17:18:01 +01:00
Rotimi Best 12c0f00007 debug: auth redirect 2025-09-10 16:50:31 +01:00
Nwosu EmmanuelandRotimi Best 937f1d8155 feat: add documents to Lesson materials (#572)
* feat: Initial logic for the pdf upload

* feat: uploa logic, translations and ui flow complete

* chore:console log cleanup

* feat: fixed upload issue and added cancel upload button

* feat: fixing the download document ish

* feat: All done and ready for use

* feat: updated the document viewing logic

* feat: some minor refactor

* feat: added migration file

* fix: dark mode, translations, restyling,

---------

Co-authored-by: Rotimi Best <[email protected]>
2025-09-10 11:39:06 +01:00
Rotimi Best 7a77bd6c79 chore: check permission only after org is loaded 2025-09-09 13:12:56 +01:00
Rotimi Best 9055c45384 chore: move IS_SELFHOSTED to public env 2025-09-07 10:24:34 +01:00
Rotimi Best 279d10a914 feat: add Polish language support 2025-08-08 04:53:38 +01:00
Rotimi Best 1eb0099938 chore: update org.ts to trigger CI 2025-07-21 21:53:00 +01:00
Rotimi Best 8a6d35b8ed fix: update currentOrgDomain to derive root domain from window location 2025-07-21 21:33:50 +01:00
Rotimi BestandIniubong Obonguko 82be557a42 chore: move backend to hono + typescript (#558)
* feat: setup secure presigned uploads and downloads

* clean up

* update lock

* Get presigned url finally working

* 557: Migrate backend to hono + ts

* chore: update Dockerfile and package.json for backend configuration

* add dev command

* remove unused packages

* Enhance backend API and frontend components for course management

- Updated CORS configuration in the backend to allow specific methods and headers.
- Refactored lesson download endpoint to use a new route for PDF downloads.
- Removed unused certificate download functionality from the lesson router.
- Updated frontend components to reflect changes in API endpoints and improve video upload functionality.
- Introduced new video upload component and adjusted video handling in lesson materials.
- Cleaned up unnecessary imports and optimized component structure for better performance.

* PR cleanups

* Enhance email configuration by adding SMTP_SENDER environment variable

- Updated docker-compose.yaml to include SMTP_SENDER.
- Modified Dockerfile to accept SMTP_SENDER as an argument.
- Updated environment schema in env.ts to define SMTP_SENDER as optional.
- Adjusted mail service to use SMTP_SENDER for the email 'from' field.
- Updated documentation to reflect the new SMTP_SENDER variable.

* Remove debug log statement from sendEmail function

---------

Co-authored-by: Iniubong Obonguko <[email protected]>
2025-06-09 01:38:57 +01:00
Rotimi Best 9aeefc9f4f feat: Finally support a docker compose files that works (#555) 2025-05-20 01:37:58 +01:00
Rotimi Best f343ca7974 docker improvements + delete unused package 2025-05-03 14:46:01 +01:00
Rotimi Best 9317b79afb chore: add user_id to response header 2025-02-16 09:24:13 +01:00
Rotimi Best 6ab64a26e5 feat: open billing for lmz customers #538 2025-01-10 07:53:00 +01:00
Rotimi Best 13fb58176f feat: add @polar-sh/sveltekit (#539)
* feat add @polar-sh/sveltekit

* remove all lemonsqueezy text
2025-01-09 01:30:01 +01:00
Rotimi Best de1398b3a2 feat: migrate from lemonsqueezy to polar (#535)
* feat: move from lemonsqueezy to polar

* update lock

* add migration files

* test with demo product id
2025-01-06 03:36:00 +01:00
Rotimi Best 32ba251b77 feat: move lesson comments under lesson note 2025-01-04 05:55:14 +01:00
Rotimi Best e4c599044e chore: ui improvements on organisation stats #531 2024-12-31 17:18:42 +01:00
Rotimi Best c68bfb62b5 feat: organisation home page with analytics (#532) 2024-12-31 17:04:07 +01:00
Rotimi Best ae55349f27 chore: use session to update lastSeen and UI tweaks 2024-12-30 12:25:43 +01:00
Adeyemi AdetunjiandRotimi Best f69bf920a9 feat: org and course student analytics page (#509)
* UI initialization

* feat: structure API

* feat: audience & people analytics

* feat: quick changes

* feat: add comments

* redesign course student page

* chore: make requests to db more efficient

* clean up analytics page for course

* feat: finish up audience analytics page

* chore: minor UI tweaks

* translate all

* replace inserts of log in events to update

* catch error if last_login isn't inserted

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-12-30 02:59:10 +01:00
Rotimi Best 381776f388 feat: automatically detect language on server and translate UI (#530)
* feat: detect language on the server and translate page

* translate auth pages

* PR reviews
2024-12-28 23:11:55 +01:00
Rotimi Best 4b1a45dfe4 chore: refactor +layout.svelte 2024-12-26 07:23:46 +01:00
Rotimi Best b3ca8b00a6 chore: disable mark as complete if all exercises are not complete #513 2024-12-23 02:31:53 +01:00
Rotimi Best d010485c1a chore: collect org analytics 2024-11-28 16:02:34 +01:00
Rotimi Best e3e54a54e0 fix: validate domain isn't classroomio 2024-11-14 20:48:47 +01:00
Iniubong Obonguko 11990c6a57 feat: fix flashing avatar (#507) 2024-11-12 12:37:25 +01:00
Rotimi Best 033959cb82 fix: theme undefined prevents settings page from loading 2024-10-15 01:46:05 +01:00
Rotimi Best d1a089a369 chore: update supabase custom domain 2024-10-13 16:44:40 +01:00
Rotimi Best 5bb036b0c0 chore: add launch and course to reserved subdomains 2024-10-13 13:54:41 +01:00
Rotimi Best c7722cb18a docs: let the launch week begin 🚀 (#491)
* docs: update meta tags

* fix: make env dynamic

* docs: let the launch week begin 🚀
2024-10-07 01:36:07 +01:00
Adeyemi AdetunjiandRotimi Best 947181a3c5 feat: custom org brand color (#474)
* feat: add package

* feat: add a new color picker

* feat: integrate with supabase

* feat: add translation

* run translation script

* feat: hover state

* quick fix

* fix: requested PR fixes

* update lock

* ux improvements

* remove log

* cleanup and improve code

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-10-06 01:20:32 +01:00
Em_DevandRotimi Best 1ee02cdf3a feat: set org landing page background (#471)
* landing page background settings

* translations

* worrked on the reviews

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-10-05 23:33:09 +01:00
9c066c79be feat: [lw] free tools (#297)
* checkpoint

* checkpoint

* feat: Create free tools page

* responsiveness fix

* rename free-tools to tools

* add slug

* feat: Random name picker

* quick fix

* PR Fixes

* PR Fixes

* - adjustments

* update env example

* remove base url

* remove base url in .env.example

* fix type errors

* add og images

* add signup cta to /tools layout

* update cta

* add socials avatar

* add meta tags

* feat: tic tac toe (#307)

* Feat: tic tac toe

* PR Adjustments

* feat: Implement Timed Activity Tool (#316)

* chore: update verification email content

* chore: landing page improvements

* feat: grade exercise with AI (#296)

* working on the UI of the grading

* working on the grading function of the radio and checkboxes

* ai grading fully implemented with dummy functions for generating scores

* working on the openai response

* working on the openai response

* finished with the ai_grading

* finished with the ai_grading

* creating new migration file

* working on reviews

* updated the translations

* improvements

---------

Co-authored-by: Rotimi Best <[email protected]>

* feat: selfhost tinymce

* fix: logo resolution error in manifest.json

* feat: move from gpt3.5 to gpt-4o

* feat: customize the LMS from dashboard (#304)

* Done with the customization of the LMS task

* generated custom_lms migration file

* updated the migration file

* copy improvements

* update wording

* made updates based on reviews,i hope i didnt miss anything

* updated the translations and migration files

* refactoring

* disabled improvements for apps

* more improvements

* more custom improvements

* pr refactoring

---------

Co-authored-by: Rotimi Best <[email protected]>

* fix: CustomizeLMS not found

* fix: CustomizeLms wrong path

* setup

* docs: update short hero tagline

* debug: courses not showing on vercel

* more debugging

* i think this fixes it

* fix: phew, clean up debug cause it works

* fix: move RBS into coursecontainer on marks page

* chore: cleaner way to implement redirect if role permission denied

* docs: update tagline

* fix: delete /org/# route

* checkpoint

* add reusable header component

* fix: empty lesson title bug (#314)

* finished the lesson title bug

* made chnages based on review

* Update +page.svelte

---------

Co-authored-by: Rotimi Best <[email protected]>

* feat: add sound cdn

* remove console.log

* feat: course types - self paced and live class (#309)

* working on the course type

* trying to mark it persist

* almost done here

* fixed sendig emtpy options bug

* created migration file

* created migration file

* made updates based on PR review

* merge

* update course type card

* add redirect logic with classroomio.com/new

* make new course modal only open/close with url

* feat: page active state (#315)

* finished the active link state

* updated the active link state based on review

* simplify code

---------

Co-authored-by: Rotimi Best <[email protected]>

* add type to course card

---------

Co-authored-by: Rotimi Best <[email protected]>

* general improvements to free tools

* fix timer and styling issues

---------

Co-authored-by: Rotimi Best <[email protected]>
Co-authored-by: Em_Dev <[email protected]>

* update tagline for tools page

* feat: Add Free Section to Landing Page (#332)

* feat: Add Free Section to Landing Page

* PR Fixes

* refactor

* PR Fixes

* restructure

* improve cursor UX

---------

Co-authored-by: Rotimi Best <[email protected]>

* feat: Progress Report Tool (#329)

* checkpoint

* fix: corrections

* finalization

* improve ux of progress tool

* more styling improvements

* PR Fixes

* PR Fixes

* fix: mood bg on report

* fix: generate exercise with AI bug (#331)

* fix: enable lesson cascade delete (#335)

* styling improvements

* chore: hide course grading toggle in settings (#338)

* feat: reset select in community page (#339)

* Feat: Add Reset for comminity dropdown

* - add translation

* refactor

---------

Co-authored-by: Rotimi Best <[email protected]>

* fix: prevent hypen at start or end of organzation or domain name (#340)

* fix: adding hypen to start or end of org or domain name

* fix: add org name validation to settings page

* chore: remove unnecessary variable use

* chore: remove error reset function

* Update OrgSettings.svelte

---------

Co-authored-by: Rotimi Best <[email protected]>

* fix: full screen

* fix: pnpm version error & add top level .nvmrc (#343)

* update name of tool

* chore: add translations for validation messages (#345)

* chore: add validation texts to locale file

* feat: switch all validations from plain text to use i18n locale

* feat: switch review form validations from plain text to use locale file

* run translation script

* chore: add translations for validation messages (#345) (#347)

* chore: add translations for validation messages (#345)

* chore: add validation texts to locale file

* feat: switch all validations from plain text to use i18n locale

* feat: switch review form validations from plain text to use locale file

* run translation script

---------

Co-authored-by: Iniubong Obonguko <[email protected]>

* PR Fixes

* Bug fixes on mobile

* Final bug fix

* code improvements

* PR Fixes

* Merge Fix

* PR Fixes

* fix: width

* code cleanup

* feat: Promodo Tool (tracks tim spent)

* feat: Pomodoro timer (without tracking feature)

* fix:
- change pause functionality to next
- correct spelling of pomodoro

* fix: pomodoro logo rename

* styling improvements

---------

Co-authored-by: Rotimi Best <[email protected]>
Co-authored-by: Em_Dev <[email protected]>
Co-authored-by: Iniubong Obonguko <[email protected]>
Co-authored-by: Iniubong Obonguko <[email protected]>
Co-authored-by: Aditya Deshlahre <[email protected]>

* feat: Implement Bottom menu (#341)

* popup logic done

* popup UI first phase done

* finished the menupop up for both lms and admin

* finished the menupop up for both lms and admin

* done

* cleanup

* fixed popover position

* still working on the routing

* i think that is it for the day

* updated the menupopup currentorgdomain

* rename popup to bottomMenu

* refactoring

---------

Co-authored-by: Rotimi Best <[email protected]>

* remove logout

* change tagline

* feat: Store todolist to localStorage (#375)

* feat: Save todo to localStorage

* remove fly animation to todos

* feat:  Progress Report avatar update (#376)

* feat: Reorder Avatar list

* quick fix

* change avatar url

* more improvements

* quick background fix

* fix: white background

* body background fix

* update lock

---------

Co-authored-by: Rotimi Best <[email protected]>
Co-authored-by: Em_Dev <[email protected]>
Co-authored-by: Iniubong Obonguko <[email protected]>
Co-authored-by: Iniubong Obonguko <[email protected]>
Co-authored-by: Aditya Deshlahre <[email protected]>
2024-09-30 01:36:12 +01:00
Rotimi Best 91bd9d4414 docs: self-hosting guide v1 (#481)
* feat: selfhosting guide v1 #238

* use public env on frontend

* add docker desclaimer
2024-09-30 01:20:19 +01:00
Rotimi Best a3d478d313 fix: move all static env to dynamic 2024-09-29 04:49:28 +01:00
Rotimi Best 25b010ebf2 chore: disable puppeteer 2024-09-22 16:28:54 +01:00
Rotimi Best 2a50b22ad2 fix: make env dynamic 2024-09-20 11:16:19 +01:00
Rotimi Best a28a0e8f92 chore: setup docker-compose 2024-09-19 10:12:54 +01:00
Rotimi Best 27f333fdcf fix: avoid invite logout 2024-09-17 14:24:37 +01:00
Rotimi Best 6bfae6ff13 feat: supabase custom domain 2024-09-16 09:50:28 +01:00
Rotimi Best eea6ac5147 fix: isFreePlan behaving wrongly 2024-09-12 23:54:04 +01:00
Rotimi Best bb3eb4ceb2 fix: format course card and missing migration 2024-09-12 08:14:28 +01:00
Rotimi Best 8ab51095a7 fix: course and org landing page improvements (#468)
* make gift section HTML rendered

* hide classroomio branding on landing page

* improve section expanding

* feat: toggle show sections on course landing page

* fix: show discount on landing page course card
2024-09-09 01:14:55 +01:00
Adeyemi AdetunjiandRotimi Best 982acb0711 feat: Update course landing page with sections (#456)
* feat: add sections ui to the landing page

* quick fixes

* quick fixes

* feat: add translations

* run translation script

* fix: sections not showing on the landing page

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-09-07 10:18:21 +01:00
Rotimi Best 3d94926343 feat: add custom domain to domain button 2024-09-05 15:19:45 +01:00
Rotimi Best 2d5f0ba6ad fix: getCurrentOrg query for subdomains 2024-09-04 06:55:50 +01:00