Commit Graph
45 Commits
Author SHA1 Message Date
Rotimi Best 5737765cb9 fix: update node version from 18.17 to 18.18 (#563)
* fix: update node version from 18.17 to 18.18

* update nvmrc

* add nvmrc
2025-07-17 12:23:56 +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 8d4a7b9ccf fix: add missing dependencies by vercel 2025-05-03 15:38:02 +01:00
Rotimi Best f343ca7974 docker improvements + delete unused package 2025-05-03 14:46:01 +01:00
Rotimi Best 52e181adf8 chore: remove more unused code 2025-04-19 23:33:35 +01:00
Rotimi Best 76c28ec70e fix: downgrade lemonsqueezy version 2025-01-10 09:47:26 +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
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 <best@classroomio.com>
2024-12-30 02:59:10 +01:00
Rotimi Bestandemmanuel 26700dccd0 feat: introducing @classroomio/course-app (#490)
* feat: v1 templates

* update nvm

* working on the displaying the course content

* working on the displaying the course content

* displayed the content

* finished with the logic for rendering the content for all the courses and lessons

* post hog template UI is good to go

* classic and minimalistic template UI is good to go

* some refactoring

* some refactoring

* layout adjustments

* update tsconfig

* trying to get the filter to work well

* this is working now

* cleanup

* cleanup

* UI updates

* course page UI for posthog

* navbar and sidebar for course page in all templates complete

* all templates course page showing lesson content from md file with mdsvex
configured

* wokring on sections

* posthog lesson content done

* all templates fetches the lesson content from the section

* all templates properly typed

* scaffolding the new template

* finished the webflow-saas

* done with the webflow saas UI

* new calcom template

* new calcom template

* masonry layout for testitomonail section layout done

* calcom UI done

* UI all done

* cleanup

* trying to fix dark mode for the course page and home page

* done with this

* done with this

* working on tests

* migrated minimalistic template to svelte 5

* updated the syntax to svelte 5 for webflow

* migrated classic to svelte 5

* migrated posthog to svelte 5

* used svelte 5 syntax in calcom

* cli tool woks locally

* rename to course-sites

* use pnpm in root

* calcom refactoring

* remove unused files

* chore: biggest refactoring in my life

* add basic readme

* refactoring on course page

* restructure how courses are ordered

* proper state propagation

* add cf adapter

* fix pnpm i issue

* fix folder icon size

* use 18.17 version

* update npmrc

* add engine to packagejson

* pnpm install

* add engine to cio-com

* make it 18.x

* remove sequence

* move mdsvex to dependencies

* update lock

* mdsvex please work

* replace fs with import from vite

* add lock

* styling improvements

* fix styling

* sidebar style improvements

* fix: mobile concerns

* fix spacing of course header on desktop

* update header

* top nav fix

* feat: make cal template

* setup another template

* classic basic UI

* fixed the /courses fetching wrong page content

* fix breaking template cause of logo

* adding some updates

* improve styles theming

* finished updates from reviews

* updated the custom styling css

* clean up posthog template

* cli tool done, needs some cleaning though

* moved components to home

* improved the UI of the minimal template

* Add CLI tool and course app site

* prettier lint

* improve CLI

* ignore sveltekit folder

* publish course app

* fix tailwing theme + improve README

* finish up course-app site

* update README.md

---------

Co-authored-by: emmanuel <chifez1@gmail.com>
2024-12-14 03:40:47 +01:00
Rotimi Best febe1965d9 chore: add /learn 2024-11-05 02:54:44 +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 <best@classroomio.com>
2024-10-06 01:20:32 +01:00
Rotimi Best a1fedfa975 fix: fly build + adapter-node peer dependency 2024-09-28 21:49:52 +01:00
Rotimi Best 877b514a7b chore: minimize build output 2024-09-23 01:21:05 +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 d1b38ca61e ```
Update dependencies for performance and compatibility

Upgraded multiple dependencies, including "posthog-js" to 1.160.0 and "@types/node" to 22.5.1. These updates aim to enhance performance and maintain compatibility with the latest features and security patches.

Resolves issues related to outdated dependency vulnerabilities and ensures smoother integration with recent Node.js environments.
```
2024-08-30 07:54:06 +01:00
Rotimi Best 1b84d98398 docs: 100 students milestone (#449)
* write blog post

* add link to dblocked

* improve blog SEO

* fix build error

* fix overide metatags issue
2024-08-25 21:35:59 +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 <best@classroomio.com>
2024-08-17 20:22:50 +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 <best@classroomio.com>
2024-08-10 08:49:42 +01:00
Rotimi Best 99f236b70d feat: support course meta tags (#421)
* support course meta tags

* fix import
2024-08-01 14:04:50 +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 <iniubongobonguko2018@gmail.com>
2024-06-30 04:47:15 +01:00
Rotimi Best 016e168f92 chore: update version of posthog-js 2024-06-28 06:32:28 +01:00
Rotimi Best 4cb0ecb909 chore: update posthog version 2024-06-10 11:15:32 +01:00
f3e0f9b7e2 feat: join course via QR code (#350)
* chore: install dependencies

* feat: create downloadable image component

* feat: update component design and add download qr button

* feat: update file name

* feat: increase border radius

* chore: add logo svg file

* refactor: move all logic to parent component

* feat: setup writeable store variable

* chore: fix ts error

* feat: setup download function in parent comp

* chore: swap out svelte/qr comp for js comp

* feat: download speed qr code improvements

* feat: add loading state to download button

* fix: responsive adjustments

* refactoring

---------

Co-authored-by: tunny17 <tvnji01@gmail.com>
Co-authored-by: Rotimi Best <best@classroomio.com>
2024-06-08 05:20:12 +01:00
Rotimi Best 1371d24fc6 chore: custom dev port for com & dashboard 2024-06-06 05:40:17 +01:00
Rotimi Best 063a715457 chore: update to the latest of posthog-js 2024-05-21 19:49:46 +01:00
Rotimi Best a657cf8da0 feat: selfhost tinymce 2024-05-14 15:22:30 +01:00
Adeyemi AdetunjiandRotimi Best 648e15d88d feat: auto generate translations (#288)
* 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

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2024-04-24 23:01:20 +01:00
Rotimi Best 00e7352b49 feat: use faster senja 2024-04-21 00:28:53 +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 <best@classroomio.com>
2024-04-19 05:45:48 +01:00
Rotimi Best 60ea5fb00a chore: rename 'nodemailer' to 'mail' 2024-04-12 05:37:50 +01:00
Rotimi Best d01c1a1ba3 fix: crypto package + update lmz product id 2024-04-07 06:33:31 +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 <best@classroomio.com>

* revamp setup

* improve the upgrade experience

* migration

* feat: add lemonsqueezy customer portal

---------

Co-authored-by: emmanuel <chifez1@gmail.com>
2024-04-07 06:08:34 +01:00
Rotimi Best acc224cf67 chore: update posthog to latest version 2024-04-02 11:47:44 +01:00
Em_DevandRotimi Best 23b3b5f555 feat: stream video upload progress (#210)
* working on the streaming progress

* connected video upload progress from frontend to server to bucket

* cleanup

* cleanup

* added the progress bar

* finished the supabase upload-progress using supabse realtime

* use only progress bar

* updating the helpertext

* Merge branch 'upload-progress' of https://github.com/rotimi-best/classroomio into upload-progress

* updated the supabase import

* Update LocalVideo.svelte

* update lock file

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2024-03-28 10:42:49 +01:00
Rotimi Best ff524fca27 feat: move all email to defer queue #185
fix: use relative part for defer func #185

chore: move sendEmail into defer

fix: remove anon function to defer #185

feat: implement batch email sending with defer.run #185

chore: debug sendEmails #185

chore: add robots.txt

chore: use promise.all in sendEmails

chore: debug defer sendEmails #185

chore: try defer sendEmail without loop #105

chore: comment code

chore: change loop style #185

chore: use promise.all for vercel edge #185

feat: add await to sendEmailNotification #185

chore: use sendEmails #185

fix: debug sendEmails #185

fix: email not updating in LMS

fix: remove early return in sendEmails #185
2024-03-01 14:10:40 +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 <best@classroomio.com>
2024-01-28 22:15:15 +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 <best@classroomio.com>
2023-12-20 14:28:40 +03:00
Rotimi Best 845b87b21f chore: update posthug and change all 301 to 307 2023-12-14 22:41:16 +03:00
Rotimi Best 4a64d2affe fix: course page rerendering twice 2023-12-13 09:02:52 +03:00
Rotimi Best 798f216cfc feat: add vercel injectSpeedInsights 2023-12-08 18:47:51 +03:00
Rotimi Best b461df700e feat: add GitHub Actions workflows and update (#53)
* feat: add GitHub Actions workflows and update
package.json

* Update dependencies in pnpm-lock.yaml

* Delete build workflows for ClassroomIO-com and
ClassroomIO-dashboard
2023-11-26 11:57:39 +00: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