Commit Graph
138 Commits
Author SHA1 Message Date
Rotimi Best 8e8ef26d49 chore: refine routing in vercel.json and set consistent base paths in vite.config.ts and router.tsx 2025-12-21 22:40:14 +00:00
Rotimi Best f4739a1b38 chore: update vercel.json for improved routing to documentation and add asset path rewrites 2025-12-21 21:53:24 +00:00
Rotimi Best 2591dad3de chore: update vercel.json for new /docs routing and set base path in vite.config.ts and router.tsx 2025-12-21 21:44:57 +00:00
Rotimi Best 006322b7ca chore: add vercel.json for routing rewrites to external documentation and update base paths in vite.config.ts and router 2025-12-21 21:32:56 +00:00
Rotimi Best bcb8a4b295 chore: update .npmrc to set npm registry and remove vercel.json configuration 2025-12-21 19:26:07 +00:00
Rotimi Best 900f5ec129 fix: critical SVG XSS vulnerability in file uploads
- Add comprehensive file type validation to prevent SVG uploads
- Update upload widgets to restrict file types at input level
- Enhanced HTML sanitization to block SVG tags and data URLs
- Create centralized file validation utilities with shared constants
- Add client-side and server-side protection against malicious uploads

Security Impact:
- Prevents stored XSS attacks through malicious SVG profile uploads
- Blocks execution of JavaScript embedded in SVG files
- Enforces whitelist of safe image formats (JPEG, PNG, GIF, WebP)
- Provides defense-in-depth protection across all upload components

Fixes reported vulnerability in profile image upload functionality.
2025-12-03 11:25:00 +01:00
Tanushree Ahir f7006aecdb fix: footer navigation overflows on small screens (#599) 2025-11-18 07:03:11 +01:00
Rotimi Best 3bbc5d0927 chore: vercel builds failing for dashboard and docs (#576)
* chore: improvements

* update README
2025-09-28 20:57:45 +01:00
Rotimi Best 85474ea022 chore: update umami domain 2025-09-27 18:12:29 +01:00
Rotimi Best 6d68351a46 feat: end to end api type safety with redis rate limiting (#573)
* feat: support hono rpc

* add wrangler file

* update name of wrangler file

* add wrangler as a dependency

* add compatibility_flags

* trigger ci

* core: add health check to docker file

* expose port 80

* update custom healthcheck

* feat: implement openapi

* install dependencies in root

* debug yml

* update yml

* update port

* update dockerfile with envs

* completely move away from apiClient

* rename backend to api

* refactor: update server descriptions and comment out local spec saving

* update lock file

* use api.classroomio.com

* add support for redis

* fix: add missing line break in WelcomeModal.svelte

* refactor: remove wrangler configuration and update Vite config for API integration
2025-09-21 19:35:41 +01:00
Rotimi Best f87a8beb17 chore: change node version to 20.19.3 2025-09-10 17:24:35 +01:00
Rotimi Best 513dc1c6d7 fix: add .nvmrc to classroomio-com 2025-09-07 16:40:32 +01:00
Rotimi Best 733e24ae75 chore: use node v20.19.4 2025-09-07 16:30:57 +01:00
Rotimi Best 11a65783e7 chore: upgrade to node 22.12 2025-09-07 15:04:09 +01:00
Rotimi Best f56c86ab87 feat: convert get started button to link on employee training page 2025-08-08 05:09:45 +01:00
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 68024d5ed5 chore: update pnpm lock and fix http error 2025-01-30 10:35:41 +01:00
Rotimi Best 4e2d5dd16f chore: load stars on client 2025-01-30 10:18:16 +01:00
Pranav MuraliandRotimi Best 29fa038760 feat: add github stars to landing page (#543)
* added github stars

* Update Navigation.svelte

* debug data

* remove prerender

* feat: githubstar change

* pass data from server to client

* remove console.log

---------

Co-authored-by: Rotimi Best <[email protected]>
2025-01-22 15:39:22 +01:00
Rotimi Best 445c21dbcb chore: blog ui and text improvements 2024-12-31 01:37:43 +01:00
Rotimi Best 09ef36de99 docs: students analytics blog post 2024-12-31 01:15:51 +01:00
Rotimi Best b2411f2757 chore: remove PH launch trigger 2024-12-21 13:14:04 +01:00
Rotimi Best f9bce74254 feat: add launch on PH on sites 2024-12-20 12:11:25 +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 <[email protected]>
2024-12-14 03:40:47 +01:00
Dunsin 7e239da7d2 feat: add recommended blog post depending on current post tags (#514) 2024-12-01 20:03:42 +01:00
Rotimi Best a339030185 fix: pricing typo and clarity 2024-11-25 10:56:58 +00:00
Rotimi Best 3813c65995 fix: move root bg to CF 2024-11-22 05:21:46 +01:00
Rotimi Best b32ececacc docs: add API, batches and tags to roadmap 2024-11-22 02:52:36 +01:00
Rotimi Best 4a81a41ed1 fix: restore scrollbar on home page 2024-11-21 15:40:35 +01:00
Eniola Sola-KehindeandRotimi Best b6c2563d79 feat: classroomio marketing pages (#497)
* feat: init

* Updated employee training and bootcamps page

* updated landing pages for all solutions

* feat: corrections implimented to landing pages

* feat: new updates

* Updates on header and footer along side corrections.

* update lock-file

* improvements

* chore: clean up navigation

* chore: use timeout to close solutions

* chore: complete proof reading and improvements

* move all images to CF

* finish up cleaning

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-11-19 14:42:08 +01:00
Rotimi Best 895e63b5a1 docs: learn from the best blog post 2024-11-13 03:49:47 +01:00
Adeyemi Adetunji 077e9e7aa6 fix: restructure free tools section on landing page (#510) 2024-11-12 12:35:13 +01:00
Rotimi Bestandemmanuel 89569fe6d1 feat: /contact page on classroomio-com (#428)
* contact page v1

* finished the UI of the contact us page

* working on the forms

* All functions and logic done

* some refactor

* some refactor

* some refactor

* some refactor

* added loading icon

* removed the image

* finished the send email

* some cleanup

* chore: refactoring

* finishing touches

* update .env.example

---------

Co-authored-by: emmanuel <[email protected]>
2024-11-12 02:18:51 +01:00
Rotimi Best febe1965d9 chore: add /learn 2024-11-05 02:54:44 +01:00
Rotimi Best c9271a11ce fix: env dynamic not available on prerendering 2024-10-20 02:26:03 +01:00
Iniubong ObongukoandRotimi Best c16d036cc3 feat: disable umami analytics on localhost for dashboard and classroomio-com (#505)
* feat: dsiable umami analytics on dashboard and landing page

* feat: disable umami on localhost

* re-add space

* move disabling umami to setupAnalytics function

* remove whitespace

* add comment

---------

Co-authored-by: Rotimi Best <[email protected]>
2024-10-20 02:03:37 +01:00
Rotimi Best e3e466232e chore: migration to SvelteKit 2 2024-10-19 20:14:53 +01:00
Rotimi Best 38618be099 feat: add waec redirect 2024-10-19 01:44:42 +01:00
Rotimi Best 1bc90e3b16 chore: update og on classroomio-com 2024-10-15 11:19:02 +01:00
Rotimi Best e7463ef78d fix: wrong grammer 2024-10-15 02:59:14 +01:00
Rotimi Best 48a52af1c6 chore: add ph redirect 2024-10-14 10:02:55 +01:00
Rotimi Best fdcea6de22 docs: day 5, lw001 - introducing custom domain support 2024-10-11 20:59:36 +01:00
Rotimi Best b242d1b7e6 docs: day 4, lw001 - introducing free tools 2024-10-10 20:30:42 +01:00
Rotimi Best 2e5150205a fix: improve name picker ui 2024-10-10 19:53:26 +01:00
Rotimi Best 802b4092b9 fix: progress report bugs 2024-10-10 19:24:47 +01:00
Rotimi Best 7cdb2281e1 docs: day 3, lw001 - self-host using railway 2024-10-09 22:03:20 +01:00
Rotimi Best 972195b634 docs: day 2, lw001 - multi-language support 2024-10-08 22:17:05 +01:00
Rotimi Best f6edaefc6a docs: day 1, lw001 - brand customisations 2024-10-07 19:36:20 +01:00
Rotimi Best d92a927f5a fix: format code 2024-10-07 03:51:10 +01:00
Rotimi Best e48047f964 fix: format blog post title 2024-10-07 03:48:42 +01:00