Build a real e-commerce API with NestJS.
A live, 12-week NestJS cohort where you build one real e-commerce API from scratch — catalog, auth, cart, and a checkout that generates a real KHQR code and confirms payment. Taught live online on Google Meet: 40-minute sessions, three evenings a week, for three months.
POST /checkout
Authorization: Bearer eyJhbGciOi...
201 Created
{
"orderId": 108,
"status": "PENDING",
"khqrPayload": "00020101021229..."
}
POST /checkout/webhook
x-bakong-signature: 7a2f9c...
200 OK
{ "received": true } // order → PAID
Bakong KHQR. Accept real payments with Cambodia's national KHQR system.
Sabay Cloud+. Push a container and get a live URL — no manual Nginx or certbot setup.
40 minutes, hands-on, live. Read before class, build together during it.
One API, six modules, built end to end
Every route below exists in the finished app — this is the actual surface you'll have shipped by week 12, not a simplified stand-in.
Every week ends in a homework PR
Each milestone is submitted as a scoped pull request on your own fork, branch named after the week — the same branches listed here.
Foundations recap
Modules, controllers, services, DI — and why NestJS is shaped this way.
Domain modeling
Clean layering across product/category, business logic out of controllers.
Data layer
Postgres via Prisma, migrations, seeding — the catalog persists for real.
Auth & authorization
JWT auth, guards, admin vs. customer roles.
Payments & checkout
Cart → order → real KHQR code via Bakong.
Testing
Unit + e2e coverage against a real test database.
Production concerns
One error shape, structured logs, validated config, rate limiting, live API docs.
Deployment
Dockerized, CI on every push, deployed to Sabay Cloud+.
Capstone & wrap-up
Polish pass, live demo, cohort showcase.
How the live sessions run
- Length3 months, roughly 12 weeks (Oct 26, 2026 – mid-January 2027)
- ScheduleMon · Wed · Fri, 9:00–9:40 PM (ICT) · Google Meet
- WhereOnline — live on Google Meet
- RecordingsEvery session is recorded and shared in the cohort's Telegram group
- ClassroomFlipped — reading before class, building during it
- HomeworkOne scoped GitHub PR per week, reviewed against that week's checkpoint
- AudienceBeginners past the crash course — no prior production experience assumed
What to have ready
- ✓Finish the free crash course — this cohort picks up exactly where it leaves off
- ✓JS/TS basics — variables, functions, async/await, classes
- ✓Comfortable with Git and the command line
- ✓Node.js 24.21.0 (via nvm) and a GitHub account
- ✓Docker Desktop installed — needed from week 4 on
- ✓A laptop and a stable internet connection for live sessions on Google Meet
Common questions
Are the sessions recorded?
Yes. Every session is recorded and shared in the cohort's Telegram group, so you can catch up if you miss one.
How do I pay?
Message me on Telegram to apply. I'll send the payment details in our chat.
Can I get a refund?
No. Once you've paid, the fee is non-refundable.
Is it really free for monks?
Yes. Message me on Telegram to confirm your free place.
Do I have to finish the crash course first?
Yes. The free crash course on YouTube is the starting point — the cohort picks up where it leaves off.

Mengsreang Chhoeung
Back end developer at Sabay Digital, building microservices for Sabay Cloud Plus. Previously a tech lead at Tenbox, and an online teacher and developer content creator since 2020.
More about meApply for a seat
Message me on Telegram by October 19, 2026 to reserve your seat.
@CHHOEUNG_MENGSREANG on Telegram