Skip to content
portfolio

// case study

Kodepas Course Platform

My Indonesian programming-course platform, built with Laravel, Inertia, and React, with checkout, an admin panel, 900+ tests, CI, and Laravel Cloud deploys.

year
2026
type
Web app
stack
Laravel, Inertia, React

Kodepas homepage with the headline Belajar programming dibimbing sampai bisa beside a mentoring chat about a Python loop

Kodepas is my own platform for workshop-style programming courses in Bahasa Indonesia, where every course comes with mentoring. I designed, built, and run it on my own. The current version is a rebuild of an earlier Next.js app on Laravel, and it went live on kodepas.com the day the rebuild started, with features shipped in small, deployable steps after that.

Technical Implementation:

  • Built the app with Laravel 13, Inertia, React 19, and Tailwind CSS 4, with Fortify for authentication
  • Learner features:
    • Course catalog and course pages with free preview lessons
    • A learning dashboard, lesson completion tracking, and per-lesson feedback
    • Video lessons that load the YouTube player only on click, in privacy mode
    • A blog with tags and an RSS feed
  • Checkout through Midtrans Snap with voucher codes, an emailed receipt, and a PDF invoice:
    • Talks to the Midtrans API through Laravel’s HTTP client, without the vendor SDK
    • Verifies webhook signatures, and handles fulfilment, refunds, and chargebacks in database transactions with row locks, so a replayed notification can’t restore revoked access
    • Expires unpaid orders hourly with a scheduled job, and reconciles an order’s real status from Midtrans on demand
    • Blocks duplicate pending orders with a unique index on a generated column
  • Locked lessons never send their content or video ID to the browser, and tests enforce it
  • Admin panel for orders, users, course access, and vouchers
  • Course content lives in the repository as Markdown, with a check command that validates it in CI
  • SEO: sitemap, JSON-LD structured data, and noindex on lesson pages

Kodepas course page for Python dari Nol Besar with a voucher field, price, buy button, and course summary

Delivery & Infrastructure:

  • Runs on Laravel Cloud with production and preview environments, a managed queue, and the scheduler; every push to main deploys automatically
  • GitHub Actions runs a single quality gate on every push and pull request: formatting and lint, TypeScript, PHPStan at level 7, the Pest suite, browser tests, and the content check
  • Pinned GitHub Actions to commit SHAs with read-only permissions
  • Error monitoring with Sentry on both the server and the browser

Testing:

  • 123 Pest test files with more than 900 test cases, including Playwright-powered browser tests

Tech Stack:

  • Backend: PHP 8.5, Laravel 13, Fortify, MySQL
  • Frontend: Inertia, React 19, Tailwind CSS 4
  • Integrations: Midtrans, Resend, Sentry
  • Delivery: Laravel Cloud, GitHub Actions, Cloudflare
  • Testing: Pest, PHPStan

Kodepas is live at kodepas.com. The first courses cover Markdown and Python, and courses on Git, Docker, Kubernetes, and CI/CD are in the works.