
Set up the API backend using Docker, clone the repository, run docker-compose up, build and seed the database, and launch the backend on localhost:4000 to access the APIs.
Set up the Vue 3 project with vue create, choose TypeScript and vuetify compatibility, install beautify, then run npm install and npm run dev to view the app on localhost.
Learn to build and seed a backend API for a Vue 3, Vuetify and Nuxt.js app using Docker, cloning a repository, running Docker Compose, and confirming APIs at localhost:4000.
Learn to scaffold and customize a Vue 3, Vuetify and Nuxt.js project by integrating Bootstrap, cleaning assets, and building navigation components to update templates and views.
Define routes for login and register within a layout component, wrapping content with a router-view and importing login and register views, then refine their forms for a clean login experience.
Build the register form by binding first name, last name, email, password, and password confirm, then submit a post request to the backend admin/register and redirect to login.
Implement a login flow in Vue 3 with Vuetify and Nuxt.js, handling email and password submission to an auth endpoint. Manage cookies with credentials for authenticated redirects.
Fetches the authenticated user on layout mount, handles unauthenticated redirects to login, and passes the user to the navigation to display the first and last name with a sign-out option.
Implement a logout flow by awaiting post-logout actions and redirecting to the login page. Redirect unauthenticated users to login when accessing main pages.
Create a users view that fetches ambassadors, initializes empty users array on mount, and renders a table with name and email in the layout, using router links and active states.
Explore building a simple Vuetify table, duplicating data rows, styling actions with a primary button, and wiring a view link to user pages, with pagination planned next.
Implement pagination in a Vue 3 setup by computing start and end indices from page and per page, set total visible to seven, and derive last page from data length.
Create a links component in a Vue 3 app that fetches a user's links, displays link counts and revenue, and uses reduce to sum order totals.
Create a product view by wiring a product component into the router, render items with image, title, description, price, and enable delete with confirmation and backend removal.
Create a new product in a Vue 3 app by building a product form with title, description, image, and price, then submit and redirect.
Reuse a single form component for creating and editing products; prefill data on edit, and submit with post for create or put for update.
Create an orders component, fetch orders via an API, and display each order in an expansion panel with the order name and total, plus an items table (title, price, quantity).
create and link the profile page with a three-field form (first name, last name, email) and a password form, prefill data, update via axios put; plan to use Vuex.
Create the ambassador view with Vue 3 and the composition API, enable TypeScript, disable lint, run npm run serve on port 4000, and remove assets, components, and views.
Construct a template-driven layout in a Vue 3 app using Vuetify and Nuxt.js. Implement navigation and header components, add login and register routes, and configure axios for ambassador API.
Configure navigation to display the authenticated user's name by fetching user data with axios, updating the Vuex store, and rendering login, sign up, or user details via the composition api.
explore Vue 3 reactivity with ref, dynamic title and description updates, and store-driven UI that adapts based on user login and revenue data.
Use watch in Vue 3 to respond to user changes, implement a logout flow with async calls and store dispatch, and update header navigation with router links based on authentication.
Implement profile and product routes by adding profile and products components to the router, and toggle header visibility with a computed show header based on the current path.
Use Vue 3 reactive data to build profile forms, with info and password objects bound by v-model, prefilling from the authenticated user via store, computed, and watch.
Build a stats view that lists generated checkout links in a table, fetches them via an API, and uses a TypeScript Link model, with environment-specific checkout URLs.
Build and connect a shared products component for Vue 3 frontend and backend, fetch and display products from an API, and implement active navigation highlighting.
Implement a frontend product search using reactive filters in Vue 3, emitting set filters on input, and fetch updated results from the backend with Axios.
Filter front-end products by title and description using a case-insensitive search, updating filtered products on each filter change without backend requests.
Explore back end sorting and filtering for product search by implementing price sort options (ascending and descending), search and filter props, and reactive behavior.
Implement frontend sorting in vue 3 app by setting filters and building comparator that returns -1, 0, or 1 based on price differences, enabling ascending and descending order for products.
Implement frontend lazy loading with per-page slicing and a load-more button, enabling simultaneous search and filter, while aligning last-page logic across frontend and backend.
Implement product selection in a Vue 3 app by toggling a selected array on click, applying a selected class with scoped styles, and updating via a select function.
Generate a checkout link from selected products by sending a backend request, handle login errors, display and auto-reset the link and error messages after five seconds.
Set up a checkout using a view framework with automatic routing and server-side rendering, configuring Next.js with TypeScript, Bootstrap, Axios, and universal rendering; run on port 3000 and 5000.
Copy and integrate the glass container template, customize the checkout form by removing unused fields, update bootstrap version via a stylesheet link, and convert the country select to an input.
Route to success and error pages by name with a shared style, and rename the index file to expose and log the url code for revealing the form.
Learn how server-side rendering fetches data with axios, configures a base URL, and pre-renders user data to improve Google indexing and SEO in Nuxt.js.
Display and manage product data by looping products, rendering each title, description, and price, while tracking per-product quantities and computing a total with the reduced function.
Bind form inputs with v-model for first name, last name, email, country, city, and zip, assemble a products array with id and quantity, and submit a backend request.
Integrate stripe checkout in a Vue 3, Vuetify and Nuxt.js app by installing the stripe module, configuring the publishable key, creating a checkout session, and confirming orders after payment.
Learn how to create an Ambassador App using Vue 3, Vuetify and Nuxt.js with Typescript. We will build 3 frontend apps Admin, Ambassador and Checkout and they will consume a big API.
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.
I also update my courses regularly over time because I don't want them to get outdated. So you can expect more content over time from just one course with better video and audio quality.
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.