* feat: checkpoint
* feat: Migrate docs to Fumadocs
* chore: docs layout
* chore:
- remove home route
- make docs home route
- remove docs prefix
* chore: docs layout
* chore:
- reorder sidebar
- fix home page redirect
* chore: rename package to avoid error during pnpm clean
* chore: remove private and sideEffects properties from package.json
* chore: requested fixes
* feat: update fumadocs layout
* feat: hide theme switch on sidebar
* add /docs
* feat: enhance documentation and layout with new guides and updates
- Added multiple how-to guides for creating courses, exercises, and managing organization settings.
- Updated existing documentation for clarity and consistency, including renaming sections for better navigation.
- Introduced new assets such as logos and favicon for improved branding.
- Modified layout components to enhance user experience and visual appeal.
- Updated package dependencies to include lucide-react for icon usage.
* chore: update pnpm-lock.yaml with dependency version changes
* add favicon
* fix: update links in documentation for consistency
- Corrected the links in the create-exercise and signup guides to ensure they point to the correct paths, enhancing clarity and navigation for users.
* delete docs
---------
Co-authored-by: Rotimi Best <best@classroomio.com>
* feat: add README for @cio/db package and remove existingAccounts.json
* load session, load profile and organization, add create profile hook
* chore: cache session request
The trick was passing all the cookies to the backend. Previously I was only passing the better-auth.session_token and not better-auth.session_data. Read about the difference here https://www.better-auth.com/docs/concepts/cookies#custom-cookies
* feat: login, logout, onboarding, verify email, reset password.
* feat: complete change email and email verification
* feat: standardise how we make rpc calls and create org endpoints
* fix ui errors
* fix: handle potential undefined customerId and standardize avatar URL property
* refactor: standardize custom domain handling and update telegram chat ID references
* chore: add tailwind prefix to @cio/ui
this fixed the media query issues because @cio/ui classes were overriding this dashboard tailwind build
* chore: clean up org sidebar
* chore: persist mode state
* feat: implement order breadcrumbs
* chore: upgrade to better auth 1.4
* chore: address common auth flow bugs and setup app for others to setup locally.
* chore: use turbo for build
* fix docker compose file and remove backend
* chore: update .dockerignore to include additional files and directories for improved build management
* copy everything in both docke filed
* refactor: streamline Dockerfile to copy entire dashboard app and remove unnecessary node_modules references
* update api to use turbo to start
* run ls la for docker files
* update cmd commands
* update cmds to use node
* fix: add redis url to docker compose
* fix: reduce memory allocation for dashboard build in Dockerfile
* debug dashboard build
* update api docker file
* update dashboard
* add tsconfig
* chore: add echo to dockerfile
* fix: change echo to run
* chore: install pnpm before switching to non-root user in Dockerfile
* refactor: update start commands in package.json and Dockerfiles to use pnpm
* install turbo
* use turbo 1.10.16
* update turbo config
* fix: update CMD in Dockerfile to run the API directly using Node.js
* change
* add commands to turbo.json
* copy over turbo
* add workspace
* fix: update start commands in package.json to specify ports for dashboard and API
* publish docker images
* add dev branch
* update compose
* build only for amd64 platform
* refactor: update docker-compose to use pre-built images and remove build context
* coolify-dockertest
* point to latest
* chore: update docker-compose to use specific version tags for API and dashboard images
* remove envs for docker file
* 0.1.3
* use dynamic env
* 0.1.4
* add PUBLIC_IS_SELFHOSTED=true
* chore: update docker-compose to use version 0.1.5 for API and dashboard images
* use static for PUBLIC_IS_SELFHOSTED
* disable cache for tag
* use 0.1.7
* add PUBLIC_IS_SELFHOSTED=true
* comment out caching
* update docker-compose to use version 0.1.8 for API and dashboard images
* update api port
* use tag 0.1.9
* add cache
* use latest tag in compose file
* 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
* 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 <iniubongobonguko2018@gmail.com>
* 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 <best@classroomio.com>
* 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 <best@classroomio.com>
* 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 <best@classroomio.com>
* 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 <best@classroomio.com>
* add type to course card
---------
Co-authored-by: Rotimi Best <best@classroomio.com>
* general improvements to free tools
* fix timer and styling issues
---------
Co-authored-by: Rotimi Best <best@classroomio.com>
Co-authored-by: Em_Dev <Chifez1@gmail.com>
* 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 <best@classroomio.com>
* 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 <best@classroomio.com>
* 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 <best@classroomio.com>
* 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 <iniubongobonguko2018@gmail.com>
* 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 <best@classroomio.com>
Co-authored-by: Em_Dev <Chifez1@gmail.com>
Co-authored-by: Iniubong Obonguko <iniubongobonguko2018+github@gmail.com>
Co-authored-by: Iniubong Obonguko <iniubongobonguko2018@gmail.com>
Co-authored-by: Aditya Deshlahre <132184385+adityadeshlahre@users.noreply.github.com>
* 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 <best@classroomio.com>
* 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 <best@classroomio.com>
Co-authored-by: Em_Dev <Chifez1@gmail.com>
Co-authored-by: Iniubong Obonguko <iniubongobonguko2018+github@gmail.com>
Co-authored-by: Iniubong Obonguko <iniubongobonguko2018@gmail.com>
Co-authored-by: Aditya Deshlahre <132184385+adityadeshlahre@users.noreply.github.com>
* updated the logo
* used a higer resolution of the 512 logo
* used a higer resolution of the 512 logo
* remove logo svg
* update logos
* stop cyprus
* delete unused files
---------
Co-authored-by: Rotimi Best <best@classroomio.com>