Commit Graph
45 Commits
Author SHA1 Message Date
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
Rotimi Best 279d10a914 feat: add Polish language support 2025-08-08 04:53:38 +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 13fb58176f feat: add @polar-sh/sveltekit (#539)
* feat add @polar-sh/sveltekit

* remove all lemonsqueezy text
2025-01-09 01:30:01 +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 e3e54a54e0 fix: validate domain isn't classroomio 2024-11-14 20:48:47 +01:00
Rotimi Best 033959cb82 fix: theme undefined prevents settings page from loading 2024-10-15 01:46:05 +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
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 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
Rotimi Best 12d7a1ac3c feat: support custom domain (#462)
* feat: add custom domain CRUD

* chore: fetch organization in layout in server before render

* debugging

* update log
2024-09-04 06:32:54 +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
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
Smriti DoneriaandRotimi Best 7a2954faba fix: validation on profile page (#398)
* fix validation of username and fullname

* fix

* fix message

* Update validator.js

* Update Profile.svelte

* remove unused functions

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-07-20 09:38:39 +01:00
Iniubong Obonguko 1f0e7c7563 feat: add validation for updating email on use profile (#391) 2024-07-16 06:35:34 +01:00
Rotimi Best fd5ec9209b fix: joining course error 2024-07-10 21:53:34 +01:00
Rotimi Best 13b493f22b feat: logout prev user before accepting new invite 2024-07-08 07:13:00 +01:00
Rotimi BestandIniubong Obonguko 563418cbf4 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]>
2024-05-31 13:17:17 +01:00
Iniubong ObongukoandRotimi Best f0ff06a856 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]>
2024-05-29 00:23:36 +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
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 a657cf8da0 feat: selfhost tinymce 2024-05-14 15:22:30 +01:00
Rotimi Best a95be6d620 ci: cypres test setup(#274)
* fix: font size broken

* add first cypress test

* save onboarding language

* load language

* get first test to work

* update command

* install pnpm

* update workflow

* install

* update

* test

* increase timeout

* another update

* update 2

* update 3

* upsdada 4

* sfgsfgf 5

* add def supabase url

* fix supabase issue

* add ci

* fix ci

* update .env.example

* update port

* tired

* prepare

* preview

* this is it

* ?????

* 99999900

* fix log issue

* ci

* nkkh

* =====

* 200000
2024-04-20 04:39:16 +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
Em_DevandRotimi Best 6c12411dca feat: move landing page videos to cloudfare (#253)
* moved videos to cloudfare

* add custom domain

* add border to iframe

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-04-11 21:25:29 +01:00
Rotimi Bestandemmanuel fcd0bcc656 feat: dashboard billing (#193)
* feat: move plans into sharable json

* remove unused code

* update pnpm lock

* update plans.json

* implement early adopter pricing

* docs: update meta title and description

* Finished the UI for upgrading plans

* Updated the pricing plans

* Updated the cards ui

* use relative import

* improve styling of upgrade plan card

* styling improvements, lemonsqueezy setup

* trigger lemonsqueezy payment and add webhook

* update pnpm lock

* add logout route

* feat: complete billing functionality

* generate lock file

* make crypto false on browser

* feat: adding upgrade prompts to org

* chore: add upgrade icon to upload video

* feat: add upgrade prompt to certificate and settings

* feat: implement onboarding setup page (#229)

* working on the onboarding setup

* working on the onboarding page

* Almost done with the onboarding UI

* finished the UI of the onBoarding setup

* finished the UI of the onBoarding setup

* Implementing the functions to carryout the logic of updating the UI onmount if a user has carried out a certain step or not

* Implementing the functions to carryout the logic of updating the UI onmount if a user has carried out a certain step or not

* making some chnages

* finished the onBoarding task

* updated some logic

* Removed the uneeded svg from the static folder

* fixed isCoursePublished not returning a boolean

* improved the setup link protection

* chore: make menuItems reactive

* improve formatting

* format supabase queries

---------

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

* revamp setup

* improve the upgrade experience

* migration

* feat: add lemonsqueezy customer portal

---------

Co-authored-by: emmanuel <[email protected]>
2024-04-07 06:08:34 +01:00
Rotimi Best c14f73a47c feat: add math equation support in Tinymce (#233) 2024-04-02 15:21:49 +01:00
Em_Dev ef38d00ea5 feat: Validate newsfeed post and comment with zod (#221)
* added Zod validation to the newsfeed post and comment

* updated the error message
2024-03-27 10:51:39 +01:00
Em_DevandRotimi Best bd905b580a feat: verify users email (#215)
* worked on the email verification

* worked on the email verification

* fixed the emailing issue and the supabase updating issue

* chore: add timer to resend, add supabase.server, enforce unique email

* chore: remove nodemailer logger

* remove async

* remove disposable email verification

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-03-22 06:30:24 +01:00
5cdb74a6b5 feat: course news feed (#136)
* style: Improved font size of the answers in the FAQ section of the landing page

* woking on the anouncement page

* working on the anouncement feature

* fixed some bugs in the emoji and comment

* minor cleanup

* Delete .github/workflows/test-pull-request.yml

This commit was stashed but it seems i accidentally applied on this commit

* updated the navicon for the anouncement

* added role level security

* still working on the emoji click

* everything works now

* cleaned up the code

* cleaned up the code

* cleaned up the code

* cleaned up the code

* refined the formatTime function using dayjs

* refined the formatTime function using dayjs

* typed,the code,created a migration file

* increase editor width/height

* added the confirmation modal and also the edit functionality for a improve UX

* some cleanup

* handle edge case,only tutor or admin can edit or delete

* improved the fetchNews function and also added role level access for deleting the comment

* chore: refactor code

* clean up

* feat: add pinned feed

* feat: remove overview on sidebar

* fix formatting of todo

* feat: prevent async block when sending email

* feat: notify teacher and student of new post/comment

* refactoring

---------

Co-authored-by: Rotimi Best <[email protected]>
Co-authored-by: Rotimi Best <[email protected]>
2024-02-28 03:00:31 +01:00
Rotimi Best 474e83c3d9 feat: enforce rule of orgsite name min 5 char (#184) 2024-02-28 02:51:42 +01:00
Rotimi Best e57257108d chore: remove theme console and enforce dropdown style 2024-02-14 14:37:11 +01:00
Adeyemi AdetunjiandRotimi Best 13ab070178 feat: filter community questions by course (#157)
* checkpoint save

* checkpoint

* feat: course dropdown

* added comments

* feat: generate db migration

* fixes

* PR Fixes

* PR Fixes

* refactoring

* show empty state

* improve styling

* fix styling issue

* PR Fixes

* PR Fixes

* PR Fixes

* dropdown for edit mode

* test db schema change on staging

* fix: change course_id to courseId

* fix theming issue

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-02-13 22:17:15 +01:00
Adeyemi AdetunjiandRotimi Best 71f910f6c8 fix: replace button not working on landing page editor (#141)
* CLASSROOMIO-ISSUE-46: Replace Button Bug Fix

* update posthog and fix issue found on gitpod

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-01-28 22:15:15 +01:00
Rotimi Best a1dcc0e85a refactor: remove unused supabase storage path (#129) 2024-01-19 16:40:52 +01:00
Toyin MuhammedandRotimi Best 6d689ede45 feat: unit tests for utils (#92)
* init

* get unit test working for course.ts file

* added some other tests

* tests halfway + change config to accomodate js files

* utility functions tests done

* fix: config file + miscellaneous fixes

* fix: prepare script

* fix lock file

---------

Co-authored-by: Rotimi Best <[email protected]>
2023-12-20 14:28:40 +03:00
Rotimi Best 6fa1d0fcfb fix: auth flow bug on joining course 2023-12-05 08:31:26 +03:00
Rotimi Best e815c93354 fix: redirect to login on code change 2023-11-30 14:25:14 +03:00
Rotimi Best 41e29014ef feat: 🚀 😃 convert repo into a monorepo 🚀 😃 (#51)
* Merge main into turbo-monrepo

* feat: rename apps

* feat: remove supbase videos and serve all from project

* feat: move supabase to root

* feat: update README

* docs: update link
2023-11-25 21:56:02 +00:00