Live cohort · backend engineering

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.

Starts Oct 26, 2026 · $45 (free for monks)Live Mon · Wed · Fri, 9:00–9:40 PM (ICT) · Google MeetPayments Bakong / KHQRHosting Sabay Cloud+
checkout.http

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

Payments

Bakong KHQR. Accept real payments with Cambodia's national KHQR system.

Deployment

Sabay Cloud+. Push a container and get a live URL — no manual Nginx or certbot setup.

Format

40 minutes, hands-on, live. Read before class, build together during it.

What you'll ship

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.

POST/auth/registerCreate an account
POST/auth/loginIssue a JWT, rate-limited against stuffing
GET/productBrowse the catalog
POST/cart/itemsAdd to your cart
POST/checkoutGenerate a KHQR code, create a pending order
POST/checkout/webhookConfirm payment — idempotently
GET/order/{id}Check an order — ownership-guarded
12 weeks

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.

week-01-foundations01

Foundations recap

Modules, controllers, services, DI — and why NestJS is shaped this way.

week-02-03-domain-modeling02–03

Domain modeling

Clean layering across product/category, business logic out of controllers.

week-04-05-data-layer04–05

Data layer

Postgres via Prisma, migrations, seeding — the catalog persists for real.

week-06-auth-authorization06

Auth & authorization

JWT auth, guards, admin vs. customer roles.

week-07-08-payments-checkout07–08

Payments & checkout

Cart → order → real KHQR code via Bakong.

week-09-testing09

Testing

Unit + e2e coverage against a real test database.

week-10-production-concerns10

Production concerns

One error shape, structured logs, validated config, rate limiting, live API docs.

week-11-deployment11

Deployment

Dockerized, CI on every push, deployed to Sabay Cloud+.

week-12-capstone12

Capstone & wrap-up

Polish pass, live demo, cohort showcase.

Format

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
Before you join

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
FAQ

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.

Picture of Mengsreang Chhoeung
Your instructor

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 me

Apply for a seat

Message me on Telegram by October 19, 2026 to reserve your seat.

@CHHOEUNG_MENGSREANG on Telegram
Live sessions
Mon · Wed · Fri, 9:00–9:40 PM (ICT) · Google Meet
Prerequisite
Free crash course (video)
Apply by
October 19, 2026
Fee
$45 (free for monks)
Payment
Paid via Telegram — I'll send the details in our chat. No refunds once paid.
Seats & dates
Small group of 15–20 seats. Starts Oct 26, 2026 — message on Telegram to reserve yours.