Nobel Akademi
End-to-end bootcamp LMS module in Laravel 11, covering the data model (6 related tables), backend, admin CMS, and public pages. Eager-loaded Eloquent relations (no N+1), slug routing, YouTube embeds, and a ratings system.
Why I Built It
This was feature work on a live production LMS during my Full Stack internship at PT Indotech Digital, and a chance to ship a complete module end to end (data model to public pages) inside an existing large Laravel codebase, not a greenfield project.
Project Goal
Build the Bootcamp module for Nobel Akademi's LMS end to end: a normalized data layer, an admin CMS for managing bootcamp content, and public listing/detail pages. I implemented the UI from designs the team already had, while owning the data model and full-stack logic myself.
What It Does
- check_circleNormalized 6-table data model (Bootcamp, Category, Learning, Tool, Module, ModuleItem) across 7 migrations, including banner/video schema iterations
- check_circlePublic listing + detail pages with eager-loaded relations (category, instructor, learnings, tools, modules.items) to avoid N+1 queries
- check_circleSlug-based routing, YouTube embed, and an inline video player on detail pages
- check_circleAdmin CMS with full CRUD for bootcamps, categories, and curriculum modules/items
- check_circlefirstOrFail() for clean not-found handling, plus is_active scoping to keep drafts off public pages
Key Screens
Tech Stack
The UI came from designs the team already had. My part was turning that into a working data model and the full-stack logic behind it: normalizing what could've been one flat table into 6 related tables, then eager-loading everything a detail page needs in one query instead of N+1 lazy loads per related module, tool, and learning row.