* 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 <best@classroomio.com>
* 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>
* 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>
* 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
* working on the fetch explore course
* working on the showing the right course
* finished the explore courses page
* finished the explore courses page
* updated the getcourseurl
* updated the migration file
* text and spacing improvements
* update translations
---------
Co-authored-by: Rotimi Best <best@classroomio.com>
* 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>
* 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 <best@classroomio.com>
* 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>