
Learn to build search engine friendly websites with Nuxt.js and Firebase, structure databases, security rules, and storage, and implement an e-commerce app with user management, product catalog, and shopping cart.
Set up a new nuxt project by installing node and npm, creating the project with npx create-nuxt-app, and launching a local development server for live reload.
Set up a nuxt.js project by exploring the pages folder structure, editing the home page, and running the dev server on a custom port, while configuring eslint and code extensions.
Lay the foundation for the Vue.js app by downloading a complete template, copying assets into the root, and configuring the project to load dynamic pages via a shared layout.
Learn to set up a Vuex store, define state, actions, mutations, and getters, and wire it to the user interface using dispatch and getters.
Set up firebase as the real-time database for the project. Install and configure firebase, initialize a single instance, and test by pushing payload to verify data in the database.
Learn to build a user group feature in the admin panel by defining group data, validating input, binding the user interface, and dispatching create group action to the Vuex store.
Learn to handle user form events with a submit button, manage loading and errors through Vuex store mutations, actions, and watchers, and dynamically bind user interface states to API calls.
Explore building a reusable Vue.js transition component, implement animations with a slide transition, and pass data via props to render and test error states in the interface.
Set up a form validation plugin in Nuxt/Vue, register it in Nuxt config, and validate on submit with name required and min four characters, displaying and delaying error clearing.
Retrieve and list user groups from the Firebase database in real time, updating the user groups page by dispatching a get groups action and processing snapshot data.
Update group by selecting a group from the list, pre-filling the form with group data, updating the group via the API, and refreshing the list to reflect changes.
Implement a delete user group flow in a vue.js/nuxt.js app by wiring a delete button to a remove group action that calls database and updates groups list after a confirmation modal.
Set up the signup page with an email and password form, implement the on sign up method and button, and handle errors; reuse boilerplate code from the user groups page.
Explore a Firebase-based signup workflow: sign up with email and password, update profile, sync local and database data, assign the user to a group, and redirect after signup.
Learn to convert boilerplate into a reusable mixin, create a mixes folder, build a sign-up mixin, attach it to the page, and test the integrated solution.
Learn to implement a complete login flow with email and password using firebase, including sign-up data handling, admin role checks, and dynamic redirection to the home page.
Turn the menu into a dynamic, login-aware navigation that displays the authenticated user's name in a dropdown, with sign in, sign out, and role-based content using Firebase.
Apply firebase security rules to protect the database, manage user profiles, and enforce read and write access for authorized users or administrators using group and user IDs.
Explore updating a user profile in a Vue.js app with Nuxt.js and Firebase: trigger profile actions, use update profile API, and sync name and email to database and UI.
Set up the administrators page with a separate firebase connection and export the connections. Implement a verify middleware to restrict admin access and redirect non-admin users home.
Set up the product model and categories, and configure database rules for category visibility. Link products to multiple categories, load categories on mount, and prepare data for updates.
Learn how to upload a product image by selecting a file, using the File API, and uploading to Firebase storage, then update the product data and categories.
Discover how to list products in a vue.js app with nuxt.js and firebase by initializing a products array, fetching data, and displaying items with images and prices.
Delete a product by removing its data from products and related entries in product categories and storage in Firebase, using the remove product action and refreshing the product list.
Update product workflow in a Vue.js and Nuxt.js app: load the product data, prepare the payload, update details and image, manage product categories, and refresh the page to reflect changes.
Build a dynamic product catalog on the home page by fetching 50 products from the catalog store with Firebase, rendered by a reusable product box.
Demonstrate search and sort in a Vue.js app with Nuxt.js and Firebase, implementing category filtering, dynamic category options, and data flow through actions and mutations.
Learn to build a dynamic product details page in Nuxt.js, including creating slug-based routes, fetching product data from Firebase, and optimizing for search with head meta and clean URLs.
Add products to the cart and manage checkout using a catalog store, product box, and cart mixin, with totals and currency formatting demonstrated.
Fix cart duplication by implementing a check that compares product keys to detect existing items, preventing duplicates, and add toast feedback using a model extension for user notifications.
Learn to manage a shopping cart in a Vue.js Nuxt.js app by updating product quantities from the details page using refs and mutations to add or increase items without duplication.
Create and manage a dynamic shopping cart in a Vue.js app: list items, adjust quantities with plus/minus, apply currency formatting, compute totals, and handle empty cart before checkout.
Implement the checkout flow by clicking checkout, calling a dedicated method, checking login status, and redirecting to the login page when needed, or going to the checkout page.
Implement the checkout page by saving order data to the database via an api job, and display a conditional thank-you message while the update completes.
Persist shopping cart data using local storage by updating the store on changes and restoring it on page load, so the cart survives refresh and is ready for checkout.
Deploy a Nuxt.js app to production using Express as middleware, enable bundle splitting for smaller chunks, and manage the server with a process manager for production readiness.
Welcome to the course.
This course is about how to build a search engine friendly website or application using Vue.js with Nuxt.js (Updated for Nuxt v2).
We'll have search engine friendly features and improved perfomarnce by using Nuxt.js which is a Vue framework.
This is because Nuxt pre-renders the code and only delivers mostly the things required on the client side, which is the browser.
The other major part of the course is Firebase. We'll use it as the database for this course.
We'll be learning how to structure the database, it's security rules, file storage and of course queries to work with data.
So, this course is also a good primer on Firebase that will help you learn simple to reasonably complex Firebase queries.
This is a course where you would learn by building an app.
We'll build a simple ecommerce app with product and user management and role based access.
Then there is a product catalog and shopping cart on the front end.
At the end of the course you'll have a working app boiler plate that you could use for your own projects.
This is a jump-start course. So, it's about getting you up and running quickly. And it's not about long and winding explanation of everything.
We'll just do some work and then look at the result so that we learn by doing.
At the end of the course you'll receive the source code of the app we built.
So, I wish you good luck and let's get started. ;)