ReactTailwind CSSExpress.jsNode.jsMySQLTiptapREST API
What was broken?
The learning content needed more than a static website. Students needed structured modules, tests before and after material, and admins needed a way to manage content without touching code.
How I fixed it
I built a React frontend with protected learning routes, then connected it to an Express and MySQL backend for modules, materials, questions, users, progress, uploads, and AI chat context.
What it can do
✓Module and submodule learning flow
✓Pretest and posttest
✓Rich-text material editor
✓Admin content management
✓User progress dashboard
✓Contextual AI study chat
The stack that shipped it
React Router kept the learning flow flexible, Tiptap handled rich educational material, and Express plus MySQL fit the relational module-test-progress model.
What changed
Ilmana became a live learning platform instead of a brochure site, with admin tools that make the content maintainable after launch.
What I learned
This project taught me to design admin flows with the same care as student-facing pages, because content teams are also product users.