
Learn to set up express with TypeScript, import express, create an app, enable CORS, use express.json, define a hello world route, and listen on port 8000.
Set up a two-container docker database using the MySchool image (latest), map data volumes, configure ambassador database with root credentials, and expose port 3066; test connection.
Define a user entity mapped to database table with id, first name, last name, email, password, is ambassador. Configure decorators and a unique email index to support admin and ambassador.
Develop admin authentication endpoints for register, login, get authenticated user, logout, and update information with a consistent API prefix; reuse these endpoints later for ambassador authentication.
Implement oath middleware to authenticate users by verifying a JWT and using next in flow. The middleware adds the authenticated user to the request for downstream routes.
Create an admin-driven ambassadors endpoint and a dedicated user controller, then seed 30 ambassador users with a TypeScript seeder using faker, run via docker to populate the database.
This lecture shows building a link entity with a unique code, linking to a user via many-to-one and to products via join table, and exposing a user links endpoint.
Reuse the same authentication routes for ambassador and admin roles, distinguishing paths like api/ambassador, enforcing role-based access with 401 checks and login scope.
Add scopes admin and ambassador to the token payload and enforce them in the oath middleware by matching the request path to the user’s scope.
Calculate ambassador revenue by summing completed orders and their items using reducers, exposing a revenue property on the user; verify with ambassador login and data tweaks.
Learn to build ambassador rankings by revenue, retrieving names and revenue from orders and order items, and compare slow per-ambassador queries with Redis sorted sets for performance.
Master the three checkout endpoints to retrieve a checkout link, create an order, and confirm it with Stripe, then update the order status from incomplete to complete.
Set up routes for login and register, create a shared layout, and import components to render a dashboard with a simple login and registration form styled for clarity.
Fetch the authenticated user from the bequant cookie in the layout, handling success or redirecting to login, and pass the user via props to the navigation using TypeScript user model.
Build a products view with pagination, including image, title, description, price, and action. Implement deletion with a confirmation prompt using axios delete and front end state updates.
Reuse a single product form for create and edit, auto-fill fields from the product data, and conditionally post or put to update or create in Vue 3, Nuxt.js, and Node.js.
Add and wire a profile page in the admin area, with account information and password forms prefilled from the user data, and submit handlers for updating info and password.
Build an ambassador app by applying a template, creating a layout with navigation and header components, and wiring login and register flows using axios defaults and an ambassador API.
Observe user changes with a Vue 3 watcher to handle undefined states, update the user data, and synchronize logout, navigation, and header behavior via store dispatches.
Develop and display generated start links in a vue 3 and nuxt.js app, convert to typescript, fetch links, and manage environment based checkout URLs for development and production.
Learn to implement Stripe checkout in a Nuxt.js and NodeJS app by installing the Stripe module, configuring the publishable key, creating the checkout session, and confirming orders after payment.
Learn how to create an Ambassador App using Vue 3, NuxtJS and NodeJS. We will build 3 frontend apps Admin, Ambassador and Checkout and they will consume a big NodeJS API.
In NodeJS you will learn:
Use Docker
Use TypeORM and connect with MySQL
Use Typescript
Use Middlewares
Generate Jwt Tokens
Use HttpOnly Cookies
Login with Scopes
Use Redis
Use Stripe
Sending Emails
Filter Cached products
In this Vue you will learn:
Use Vue with Typescript
Use Nuxt.js with Typescript
Use Vuex
How to use Composition API and Options API
Use Vuetify
Create public and private routes
Pay with Stripe
I'm a FullStack Developer with 10+ years of experience. I'm obsessed with clean code and I try my best that my courses have the cleanest code possible.
My teaching style is very straightforward, I will not waste too much time explaining all the ways you can create something or other unnecessary information to increase the length of my lectures. If you want to learn things rapidly then this course is for you.
If you have any coding problems I will offer my support within 12 hours when you post the question. I'm very active when trying to help my students.
So what are you waiting for, give this course a try and you won't get disappointed.