Skip to content
Public site → LMS → back office
Full StackComing soonEducation · 2026

JO Academy

Beauty academy & salon platform public storefront, gated course player, and a full admin back office. End-to-end full-stack build.

Role
Full Stack
Year
2026
Category
Education
Stack
React 19Redux ToolkitReact RouterStyled ComponentsFramer MotionAxiosReact Helmet (SEO)dnd-kitVimeo Player APINode.jsExpressSequelizeMySQLJWTbcryptMulterNodemailernode-cron

01 · Outcomes

What the build actually shipped.

Numbers, not adjectives. The stats below are pulled from production. Anything still live, still measured.

2026

shipping next

education

End-to-end

front + back

one set of hands

4+

tech in stack

React · Node.js

2026

shipped

year of build

02 · Overview

What it does.

A full-stack platform for a beauty academy and salon, built front-to-back on one codebase. The public side runs the storefront course catalog, e-books, product shop, cart with promo codes, certificate applications with public verification, appointment booking, and lead-capture forms. Authenticated students get a private dashboard with gated, Vimeo-hosted video lessons, their orders, scripts, and issued certificates. Staff get a scheduling and bookings panel, and admins run the whole operation from a single back office: educations, shop, orders, promo codes, certificates, employees, gallery, newsletter, statistics, and automated backups. Four roles, role-based auth, and a REST API on Node/Express + MySQL behind a React + Redux Toolkit frontend.

04 · Decisions

The choices that shaped the build.

Tech is downstream of decisions. These are the calls made early enough to compound the right way. The ones a code review six months later still agrees with.

MySQL over NoSQL

Orders, courses, lessons, certificates, and promo codes are tightly related to each other. A relational schema with Sequelize gives real foreign-key integrity and clean joins that a document store would only fake.

JWT roles over server sessions

One stateless API serves four roles visitor, student, staff, admin. JWT with role-based access keeps the backend easy to scale and drops session storage entirely.

Vimeo over self-hosted video

Course lessons play through Vimeo with domain-locked privacy instead of an in-house pipeline. That skips transcoding, storage, and bandwidth cost while keeping every lesson gated to paying students.

Let’s build

Have something to ship?

I take 4–5 freelance projects a year. Cold pitches welcome. I reply within 24 hours on weekdays.

hello@suzunovic.dev