Перейти до основного вмісту
НАЗАД ДО ПОКАЖЧИКА
РОЗБІР_КЕЙСУ // АКТИВНО

LMS Platform

Наскрізна відповідальність: модель даних, авторизація, платежі, відеострімінг та UI — усе спроєктовано і реалізовано самостійно. Full-stack платформа управління навчанням на Next.js 14 App Router. Викладачі створюють курси з rich-text описами, відеорозділами та вкладеннями; студенти переглядають каталог, записуються безкоштовно або через Stripe Checkout, дивляться відео та відстежують прогрес розділів на особистому дашборді.

АКТИВНИЙNODE_LMS_PLATFORMNext.js 14React 18TypeScriptPostgreSQLPrismaBetter AuthStripeTailwind CSSshadcn/ui
[01]Стислий огляд / Резюме кейсу

Наскрізна відповідальність: модель даних, авторизація, платежі, відеострімінг та UI — усе спроєктовано і реалізовано самостійно. Full-stack платформа управління навчанням на Next.js 14 App Router. Викладачі створюють курси з rich-text описами, відеорозділами та вкладеннями; студенти переглядають каталог, записуються безкоштовно або через Stripe Checkout, дивляться відео та відстежують прогрес розділів на особистому дашборді.

МЕТАДАНІ СТАТУСУ ФАЙЛУ
РОЛЬFull-Stack-розробник — пет-проєкт
ПЕРІОД2025–2026
РЕПОЗИТОРІЙgithub.com/MaksymZak/lms-next-13
[02]Наміри та технічні цілі
  • 01 / ЦІЛЬ

    Перебудовано застарілий туторіальний код у self-hosted стек: Clerk, Mux і PlanetScale замінено на Better Auth, власний відеопайплайн та PostgreSQL + Prisma.

  • 02 / ЦІЛЬ

    Спроєктовано змінний шар сховища (lib/storage): локальний диск із HTTP Range-стрімінгом для перемотування відео або Cloudflare R2 — перемикається однією env-змінною.

  • 03 / ЦІЛЬ

    Інтегровано Stripe Checkout із підтвердженням покупки через webhook; безкоштовні курси записують миттєво без оплати.

  • 04 / ЦІЛЬ

    Створено конструктор курсів із drag-and-drop сортуванням розділів, безкоштовним/платним доступом на рівні розділу, валідацією публікації та графіками доходів і продажів.

  • 05 / ЦІЛЬ

    Модель доступу в стилі Udemy: будь-який користувач може викладати; кожна мутація перевіряє володіння на рівні запиту.

[03]Збірка та стек технологій
Next.js 14
React 18
TypeScript
PostgreSQL
Prisma
Better Auth
Stripe
Tailwind CSS
shadcn/ui
[04]Технічна глибина

Мутації йдуть через route handlers із клієнтською ревалідацією через router.refresh() — свідомий вибір замість Server Actions. Оптимістична перевірка cookie в middleware тримає всі маршрути приватними, крім автентифікації та webhook. Ідемпотентний seed розгортає демо-акаунти викладача і студента з курсами, покупками та прогресом однією командою.