
Implement and use middleware to authenticate users, verify JWT payload, and pass the authenticated user through the request to subsequent routes using next, enabling secure login and logout flows.
Explore ambassador endpoints: compare front-end and back-end product filtering, create links, fetch link stats, and rank ambassadors by revenue, with Redis caching.
Learn to implement rankings of ambassadors by revenue, assembling each ambassador’s name and revenue from orders and order items, and optimize with Redis sorted sets to avoid slow queries.
Use a reducer to build an object of ambassador names and revenues. Initialize the accumulator as an empty object, then assign revenues with dynamic keys in descending order.
Create an order through a post request, validate the link, compose the order from link user data and body fields, and build order items with ambassador and admin revenue splits.
Learn how database transactions atomically create orders and order items, handling errors by committing on success or rolling back to maintain data integrity.
Build a bootstrap-based template for a react dashboard by bootstrapping the app, cleaning up test files and styles, and creating two tsx components for header and navigation.
Learn to implement a login flow in React using hooks and useState, manage email and password, submit with axios post, and redirect to the users page after authentication.
Create a products page in a directory with a TypeScript product interface, fetch products with useEffect and axios, render a paginated table with image, description, and price, and enable delete.
Create a product form component with fields for title, description, image, and price. Submit the form data to the server and redirect to the product list.
Add an edit button with a toggle group, reuse the product form for create and edit routes, fetch and pre-fill data with useEffect, then submit updates.
Create an orders page with order and order item models, including an accordion for each order. Display an items table showing product title, price, quantity, and the order total.
Set up redux with actions and reducers, implement a set user action, create an immutable state reducer, configure the store, and wrap the app with the React Redux provider.
Fix the header component by using state for title and description, updating them with redux user data, and toggling login/register links and buttons based on authentication and location.
Build a reusable products module by converting links, rendering product cards with images and prices, and using useState for paginated data, showing nine items per page.
Demonstrates how to implement product selection in a React app by maintaining a selected array, toggling items on click, and applying a visual border to selected products.
select products and generate links using a beacon call, manage notify states for success or error, and auto-hide messages after three seconds.
Connect the code to fetch ambassador data and product details with useEffect in a React, Next.js app, manage state for user and products, and implement quantity controls with safeguards.
Set initial product quantities to zero, manage them as a stateful array of product id and quantity, handle changes, and compute the total using reduce.
Confirm orders by using the stripe source on the success page and sending a backend request to /orders/confirm to finalize checkout.
Learn how to create an Ambassador App using React, NextJS 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 React you will learn:
Create a React project with Typescript
Create a Next.js project with Typescript
React Material UI
Use Redux
Use React Hooks
Create public and private routes
Restrict routes for unauthorized users
Use 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.