
Create a NestJS project with the Nest CLI, name it Nest Ambassador, install dependencies, and run the dev server to see HelloWallet at localhost:3000.
Add docker to your project by creating a dockerfile and docker-compose.yaml, use node:15.4, run npm install and npm run start dev, and map host 1000 to container 3000 with volumes.
Install TypeORM to connect your app to a database, configure host, port, and credentials, and generate user entity, controller, and service to create a user table.
Implement a logout function that clears the JWT cookie via a post request to /admin/logout, guarded by an OAuth guard that verifies the JWT and prevents unauthenticated access.
Update your profile and password through authenticated endpoints: put admin/user/info to change first name, last name, and email, and put admin/user/password to validate and confirm the password.
Master admin endpoints to manage products with create, update, and delete actions, retrieve user links via a new links model, and get orders and ambassadors.
Learn how scopes in JWT control access to admin and ambassador endpoints, how to encode scope in the token, validate with a guard, and enforce role-based routing.
Explore ambassador endpoints by returning products on the frontend and via the API, filter results, create links, and compare revenue and rankings across ambassadors.
Implement caching for the product controller by adding frontend and backend endpoints, using cache decorators and a cache interceptor with a 30-minute ttl to serve products from cache.
Reformat the response into a name-to-revenue key-value map by using the reduce function, mapping results, and ensuring numeric scores are parsed for descending order.
Create a new Vue 3 admin project, selecting TypeScript and features, then install and apply the beautify plugin. Open the project in WebStorm and run the dev server at localhost:880.
Configure routes by adding a layout wrapper and router-view, import login and register views, and define paths for these components with simple forms.
Retrieve the authenticated user after obtaining the back-end cookie, handle success or redirect to login on failure, and pass user data to navigation via props with a TypeScript user model.
Create a users table for ambassadors in a Vue 3, Nuxt.js and NestJS app by wiring the layout and router, fetching ambassadors on mount, and displaying name, email, and actions.
Create a product management view in a Vue 3/Nuxt.js app, wiring routes and rendering products with images, titles, descriptions, and prices. Implement delete with confirmation and axios backend calls.
Set up a vue 3 ambassador app with the composition API, select TypeScript or VueX, disable lint, and run on port 4000 using npm run serve.
Explore building a template-driven admin interface with a layout, navigation, and header, and implement ambassador-specific API integration using Axios, with login and register flows.
Implement product selection in Vue 3 with a front-end and back-end approach. Toggle product selection to display a selected border using a selected array, a select function, and array methods.
Fetch data with axios from a base URL to render the user name on the server. Server-side rendering improves Google indexing by think data via context.
Learn how to create an Ambassador App using Vue 3, NuxtJS and NestJS. We will build 3 frontend apps Admin, Ambassador and Checkout and they will consume a big NestJS API.
In NestJS you will learn:
Use Docker
Use TypeORM and connect with MySQL
Use Typescript
Use Interceptors and Guards
Validate Requests
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.