Commit Graph
67 Commits
Author SHA1 Message Date
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 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 f343ca7974 docker improvements + delete unused package 2025-05-03 14:46:01 +01:00
Rotimi Best 32ba251b77 feat: move lesson comments under lesson note 2025-01-04 05:55:14 +01:00
Rotimi Best 09ef36de99 docs: students analytics blog post 2024-12-31 01:15:51 +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 b3ca8b00a6 chore: disable mark as complete if all exercises are not complete #513 2024-12-23 02:31:53 +01:00
Rotimi Best 98c3060732 chore: proper certificate clean up + darkmode nav cleanup 2024-11-21 15:25:42 +01:00
Rotimi Best f890b8d84f fix: course settings showing save popup wrongly 2024-11-21 14:25:52 +01:00
Rotimi Best a3d478d313 fix: move all static env to dynamic 2024-09-29 04:49:28 +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
Em_DevandRotimi Best 9016402a6e fix: export pdf bug (#435)
* worked on the pdf download issue

* worked on the pdf download issue

* improvements

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-08-17 20:22:50 +01:00
Rotimi Best 1c9dc004a0 feat: course section reordering & migration to course v2 (#437)
* feat: reorder sections and lessons gracefully

* convert course into version 2

* feat: get next and prev working
2024-08-17 17:10:15 +01:00
Rotimi Best e18b4ca1b1 fix: v1 lesson section creation 2024-08-14 11:13:44 +01:00
Rotimi Best ad421acf8d feat: lesson sections - v1 (#431)
* add todo

* update sidebar with sections

* add course versioning

* fix db reset issue

* v1 of working sections feature

* remove
2024-08-14 10:27:37 +01:00
Rotimi Best e7e2bc632b fix: download button in darkmode 2024-08-12 10:24:59 +01:00
Rotimi Best 7e94272c95 feat: add email column to downloadcsv on marks 2024-08-12 10:14:49 +01:00
Rotimi Best 7428b21a09 feat: multiple choice question must all be correct before next question (#432) 2024-08-11 21:47:00 +01:00
Rotimi Best 4c0288fd84 fix: infinite spinner on lesson 2024-08-11 11:59:17 +01:00
Rotimi Best f9fdd72ed9 fix: map total to csv export 2024-08-10 09:39:26 +01:00
Em_DevandRotimi Best d2fe33c6ab feat: export marks as csv or pdf (#427)
* worked on the marks csv export

* added translations

* added pdf export option and translations

* cleanup

* cleanup

* improve download UX

* capitalize title

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-08-10 08:49:42 +01:00
Rotimi Best 0961aad01a chore: loading state to submission 2024-08-03 23:18:58 +01:00
Rotimi Best 30a6193e3c feat: delete submission 2024-08-03 20:58:07 +01:00
Adeyemi AdetunjiandRotimi Best 72b58ed2c7 feat: add 4 certificate templates (#295)
* add cloud translation api package

* feat: Script that auto generates translations for other languages

* add comments

* fix: broken translation

* improve translation

* update locck file

* clean up

* all round trasnlations check

* checkpoint

* finish up

* move to dev dependencies

* fix vercel build error

* translations fix

* - add documentation
- translation bug fix

* quick adjust

* PR Fixes

* add new line

* update docs

* checkpoint

* feat: redesign & addition of certificates

* text color update

* patterned width fix

* "student-name" class remove

* checkpoint

* PR Fix

* quick fix

* PR Fixes

* update certificate ready page for students

* PR Fixes

* quick cleanup

* move fetchCourses into .ts file

* feat: give students access to certificates only after completing course

* checkpoint

* height fix

* Merge branch 'main' of https://github.com/rotimi-best/classroomio into classroomio-issue-272

* Fix; merge PR Fix

* fix: width of plain & professional certs

* PR Fix

* feat: add translation

* handle error when trying to download a certificate

* add fetchExploreCourses

* fix: requested reviews

* review fixes checkpoint

* replace the certificate background

* height fix for patterned certififcates

* fix more bugs

* rename schema

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-07-21 03:02:33 +01:00
Rotimi Best df7a5818bb feat: RLS on all tables (#399)
* implement RLS

* set default course currency to USD

* remove unused import

* update default currency in course in db
2024-07-18 02:58:57 +01:00
Rotimi Best 5a7cd8a34a fix: completion state for student in lms 2024-07-16 10:20:56 +01:00
Rotimi Best 05fcbbb3e2 debug: lms moving to next lesson 2024-07-16 07:19:48 +01:00
Rotimi BestandIniubong Obonguko 931ccb1a09 feat: lesson note version history (#374)
* chore: install diff package

* chore: add id to render component

* feat: implement language lesson version history

* chore: fix darkmode colors and use tailwind css

* chore: add screensize conditional

* refactor: list updating after data fetch

* change mode to view to prevent duplicate data being saved

* chore: remove raw text

* chore: db migration

* feat: properly format timestamp

* feat: add snackbar for success

* chore: group by minutes, use icons instead of texts for buttons

* docs: generate translations

* refactor

---------

Co-authored-by: Iniubong Obonguko <[email protected]>
2024-06-30 04:47:15 +01:00
Em_DevandRotimi Best decea8d1e5 feat: improve self paced lesson card (#344)
* finished the self paced card

* made the reorder for both course type

* added translations

* chore: refactor to positive naming and not negative

* ux improvements

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-06-29 06:27:29 +01:00
Em_DevandRotimi Best b7cdce4236 feat: navigate to next/previous lesson (#352)
* prev and next button logic in place

* handled the edge case

* done

* updated the transation and the navigating function

* cleanup

* ease in animation, simplify disabled logic, avoid quick loader < 1s load time

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-06-08 08:04:21 +01:00
Rotimi Best 6fafa2fc80 fix: enable lesson cascade delete (#335) 2024-05-28 06:15:23 +01:00
Em_DevandRotimi Best fc0b91a493 chore: simplify grading for self paced course (#326)
* updated the grading flow for self paced course

* updated some logic and translations

* fix bug with newsfeed not opening for students and fix more bugs

* remove console

* add blog template route

* add doc page

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-05-25 05:50:14 +01:00
Rotimi Best 577937fda6 feat: restrict access to courses 2024-05-23 07:04:42 +01:00
Rotimi Best 0536463ec9 feat: admin can get all courses within org 2024-05-22 05:49:10 +01:00
Rotimi Best 6690b6bf34 fix: scroll issue on bottom lesson widget 2024-05-22 05:09:16 +01:00
Em_DevandRotimi Best 49d8539be9 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]>
2024-05-21 00:14:47 +01:00
Em_DevandRotimi Best b9bb568f98 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]>
2024-05-20 17:26:43 +01:00
Rotimi Best b6fa251bcd chore: cleaner way to implement redirect if role permission denied 2024-05-19 18:55:28 +01:00
Rotimi Best f21bc80dba fix: move RBS into coursecontainer on marks page 2024-05-18 22:31:55 +01:00
Rotimi Best fb593b26af fix: phew, clean up debug cause it works 2024-05-18 21:50:42 +01:00
Rotimi Best 57cfc32dae i think this fixes it 2024-05-18 21:40:24 +01:00
Rotimi Best 9a5cb7e1a4 debug: courses not showing on vercel 2024-05-18 21:16:10 +01:00
Em_DevandRotimi Best 73eb0ad4b1 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]>
2024-05-17 01:28:59 +01:00
Rotimi Best a657cf8da0 feat: selfhost tinymce 2024-05-14 15:22:30 +01:00
Em_DevandRotimi Best e243564113 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]>
2024-05-13 19:35:06 +01:00
Rotimi Best 863ec807bf chore: lesson ux improvements 2024-04-27 07:05:09 +01:00
Adeyemi AdetunjiandRotimi Best 3a5d13ea41 docs: how to translate dashboard (#292)
* add cloud translation api package

* feat: Script that auto generates translations for other languages

* add comments

* fix: broken translation

* improve translation

* update locck file

* clean up

* all round trasnlations check

* checkpoint

* finish up

* move to dev dependencies

* fix vercel build error

* translations fix

* - add documentation
- translation bug fix

* quick adjust

* PR Fixes

* add new line

* update docs

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-04-26 17:54:11 +01:00
Adeyemi AdetunjiandRotimi Best d75e2f258e feat: multi language support (#254)
* feat: multitranslational support

* - completion of settings page
- completion of sidebar

* sidebar rerendering bug fix

* completion of the lesson navigation & materials page

* completion of the course navigation

* completion of requested languages

* - Implementation of Language Picker
- Rename Bug Fixes

* checkpoint save

* - addition of the language picker to the onboarding.
- addition of the language switcher for the lesson notes.

* merge completion

* initialization of the new branch

* add transition.svelte file

* lesson note bug fix

* feat: add translation migration

* completion of translation

* fix height issue of dropdown

* refactoring

* fix: improve code with LOCALE from db

* finally get it fully functional

* connect with AI

* backward compatibility for lesson note

* preserve old content, when generating AI content

* undo translations in upgrade modal

* fix duplicate key issue from codacy trigger

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-04-19 05:45:48 +01:00
Adeyemi AdetunjiandRotimi Best 1277bcbfc6 feat: students should move to next lesson on click go to lesson (#230)
* completion

* completion

* PR Fixes

* PR Fixes

* fix: progress bug on home page

* chore: fix lesson completion issue

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-04-16 08:51:53 +01:00