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.