DEV3 Technologies home

How we built the DEV3 Learnova: an LMS with a drip engine and private lesson media

dev3 ·

DEV3 Learnova is a self-hosted online academy with courses, quizzes, certificates, coupons and an instructor studio with commissions.

Stack: Laravel 12, Filament 4 with three panels (/admin, /instructor, /student), a Livewire lesson player, a Blade public site and the shared DEV3 core.

Decisions that mattered

  • A single service decides whether a lesson is open: preview lessons first, then an absolute "available from" date, then drip days from the enrolment day, and sequential mode also needs the previous lesson done. It also returns the reason a lesson is locked, so the sidebar, course page and "upcoming unlocks" agree. Unlocks are computed when a course is opened, so drip needs no cron job.
  • The quiz engine grades strictly. A multiple choice answer scores only when the chosen set equals the correct set, short answers are normalised for case, spacing and punctuation, and every attempt is stored.
  • Uploaded videos and PDFs sit on a private disk or private S3-compatible bucket and stream through short-lived signed URLs, rechecked against enrolment.

Limits: no public live demo; the demo school is fictional.

Trade-off we chose: unlocks are calculated when a course is opened, which avoids a cron job.

Interested in how others protect paid video. Questions and feedback are welcome.

#laravel#filament#lms#case-study

0

0 replies

No replies yet. Know the answer? Write the first one below.

Your reply

Every post is reviewed by DEV3 before it appears. Usually reviewed within 24 hours.

Markdown supported. Use ``` for code blocks. Images are not allowed.