The Complete Strapi Course by Alex
Enrollment is closed

The Complete Strapi Course

Enrollment is closed

Welcome to the Complete Strapi Course!

Build Apps at the speed of thought with the simplest most versatile open source headless CMS

Testimonials

Alessandro was very well spoken and knowledgable. He helped me with very practical advice for getting going on a personal project I had been stuck in analysis paralysis on. Then we built a whole API in like 10 minutes with Strapi.
Zach
Phenomenal, great clear english, clear quick directions, very polite. Wouldn't use another mentor.
Karter Baltich
Alessandro has been great, he is quick at figuring stuff out and considering elegant vs functional ways of going about things. I have hired him 2x so far and am pretty confident I'll hire him again soon.
N A
Best tutor, adviser and mentor. I will always look for him anytime I need help with code or any other related questions. I am glad I found Alessandro
David
Alessandro was great. He took the time the walk me through each step of my problem – allowing me to code it (and understand it) myself. Great teacher – and extremely well versed in his subjects. I'll definitely contact him again when I need help.
Peter Farina

Learn To

  • Build a NodeJS backend in seconds
  • Deploy from development to production in a manner of minutes
  • Define Roles and Permissions
  • Keep your data safe
  • Optimize your API with private fields
  • Use Custom Controllers and Services for optimal functionality
  • Upload Files Effortlessly
  • Send Emails in one line of code

Build

Complex applications in a manner of minutes!
In this course you will build:
  • A leaderboard with jQuery and Strapi
  • File upload
  • A secure login / signup and edit profile with React and Strapi
  • Deploy Strapi to Heroku
  • A portfolio builder
  • Inventory management application

Ship faster with Strapi.io

The Complete Strapi Course teaches all you need to know to start and improve your skills with Strapi!
Strapi is a headless CMS that in the hands of a developer gives them superpowers.
That's why I use Strapi for every single new application I work with.

Strapi allows you to:
  • Deliver Faster: Focus on the actual features, increase velocity of your deployments.
  • Prototype Faster: Build an App in a week (or a day), not months!
  • Multiply Yourself: Small teams and solo developers can now build and manage huge applications!
  • Win at every Hackathon: Don't waste time coding authentication, file upload, and data management. Focus on the features that matter

Strapi is a favorable decision also because:
  • Battle-tested by thousands
  • Open Source
  • Backed by a funded startup
At the time of release, I've worked with Strapi for over a year and a half, saving hundreds of thousands of dollars for the companies I've worked with.

I'm one of the most experienced developers and I'm teaching it here at a dirt-cheap price.
The course covers all Strapi main Features and the halfway point consists of exercises in which you will build COMPLEX web applications at the speed of thought by leveraging Strapi, jQuery and React

This course is for:
  • Small teams that need to deliver features FAST
  • Entrepreneurs looking for the winning edge
  • Build your MVP in a matter of days not weeks
  • Win Every Hackathon

What's included?

Video Icon 192 videos File Icon 2 files Text Icon 17 text files

Contents

Introduction and Installation
Introduction
3 mins
Installation
4 mins
Code for this couse - Companion Repo
Code for this course
Your First Content Type
Creating the Article Content Type
5 mins
Adding and Managing Admin Users
Creating and managing Admin Users
3 mins
Further Readings: Admin
The Admin Panel /admin
Admin panel overview
9 mins
Roles and Permissions
5 mins
Roles and Permissions - Further Readings
Developing with Strapi - using Postman
Developing with Strapi - using Postman
4 mins
Postman Download Link
Authentication - Login and Registration
Login and Authentication
6 mins
Using Bearer Token to Figure Out Current User Data
3 mins
Using Bearer Token for Authenticated Requests
2 mins
The Strapi Filesystem (and API folder)
Intro to API Features
1 min
Strapi Filesystem Introduction
6 mins
In depth look at the /api folder
7 mins
Controllers VS Services
5 mins
Extending Strapi
Overriding the default controller
16 mins
Default Controllers - Further Readings
Working with Policies
Introduction to Policies
6 mins
Using a Policy - Orders - Intro
7 mins
Using a Policy - Orders - Coding
13 mins
[UPDATE] Do this with Strapi.beta.19 onwards
Using Filters
Intro to filters
6 mins
Filters - Practical Examples
5 mins
Filters - Further Readings
Deploying to Heroku
Steps to Deployment. From quickstart to fully deployed app
3 mins
Initial Heroku Setup and Push
7 mins
Adding the Database
9 mins
Deployment Success! Final Thoughts
3 mins
File Upload
Simple File Upload
4 mins
File Upload - Connected to a Content Type
7 mins
Multiple File Upload
4 mins
Remove a File From Gallery
2 mins
Installing a File Upload Provider
6 mins
File Upload - Further Readings
The File Upload Examples Section
Quick intro to the concepts required for file upload
3 mins
File Upload using FormData
5 mins
File Upload With Fetch
7 mins
Uploading multiple files
8 mins
Uploading a File to a Content Type
9 mins
File Upload Repository
Cron Jobs
Cron Job Set Up
4 mins
Email Sending
Sending an Email
5 mins
Installing the Email Service Provider
3 mins
Custom Services
Building a Custom Email Sending Service
8 mins
Extra Lessons - Cookbook
Hide a field from the API response - Private Fields in API
6 mins
The .find service (to find entries)
3 mins
Advanced Services Usage
7 mins
Logging in Strapi (instead of console.log)
3 mins
Using the functions folder for reusable functions
3 mins
Migrating Data from one version of Strapi to another
12 mins
Extra Lessons - Additional Topics
Using Components and Dynamic Zones
15 mins
New with Strapi 19 - Single type and Unique ID.mov
5 mins
Build a Leaderboard with Strapi and jQuery
Building a Leaderboard with Strapi and jQuery
12 mins
Finishing up the leaderboard - JQuery Side
10 mins
Leaderboard Code Repo
Build a Portfolio Website with React and Strapi
Intro to the Portfolio Project and installation
2 mins
Building the Strapi Portfolio Side
6 mins
Introduction to React
4 mins
Creating the PortfolioItem component
4 mins
Using Components and .Map
8 mins
Making the portfolio look better
5 mins
Setting up Axios for AJAX requests
6 mins
Connecting the data we fetched to the Component State
5 mins
File Upload with Progress Bar with React
File upload - Setting up the class component
4 mins
Listening to the input change and update Component State
5 mins
Using axios for file upload
5 mins
Tracking File Upload Progress and showing a Progress Bar
10 mins
Showing the Loading Message along with the Progress Bar
2 mins
Code Repo for File Upload with React and Strapi
Build a Inventory Stock Management App Prototype with React and Strapi
Stock Management App Intro
3 mins
Installing React and Strapi
2 mins
Introduction to React Folder
4 mins
React Functional And Class Component
3 mins
React - JSX and Functional Components
4 mins
Mocking out Data
5 mins
Passing props to functional component
12 mins
Moving the functional component to a separate file
5 mins
Showing StockEvents by using the Array.map function
9 mins
Separating StockEvents by Product
5 mins
Calculating the Stock Total with Array.reduce
4 mins
Creating the StockDetail component
6 mins
Toggling between showing and hiding StockEvents
8 mins
Setting up Strapi
4 mins
Testing Strapi with Postman
2 mins
Connecting the React Frontend to Strapi with Axios
10 mins
Stock Management App Wrap Up
3 mins
Improve the Stock Inventory Management App
Stock Management App Wrap Up
4 mins
Form Handle Change and Submit
10 mins
Displaying select options dynamically
5 mins
Asynchronous request to add and remove stock
10 mins
Making the add stock event togglable
3 mins
Creating a New Product
7 mins
Using React Router Dom to separate pages
7 mins
Navigation with NavLink
6 mins
Build a Login and User Profile Page
Installing React and Strapi
1 min
Creating the Class Component
5 mins
Setting up a Controlled Input
9 mins
Adding the Handle Submit
3 mins
Performing the Sign Up Request
6 mins
Saving the User object after signing up
5 mins
Toggling between Sign Up and Log In
6 mins
Setting up the Profile Page
11 mins
Refactoring Handle Change for Reusability
6 mins
Connecting initial User Data to State
4 mins
Update User Request with Axios
8 mins
[Adding Security] Policy to Prevent User Update Abuse
10 mins
Handling the JWT Token
UNSAFE - Using LocalStorage to store user data
9 mins
[Credits] - Express app that serves React frontend
Theory on how to store the JWT Token
13 mins
Securing the Login Application
Serving the Frontend through a Server
9 mins
Setting up React for Production
7 mins
Setting up Server Routes with body-parser and axios
10 mins
Setting up Session Cookies
9 mins
Authentication Route in the server
3 mins
Updating the user profile through the server
6 mins
Fetching the current user from the server
6 mins
Wrapup - User Profile Projet Conclusions
4 mins
Code Repo for Secure Login and Edit Profile
[NEW] Use Components and Dynamic Zones to build an Improved Portfolio Builder
Introduction to the Updated Portfolio Builder
2 mins
Installing Strapi and React
2 mins
Creating the Components and Setting up the Page Content Type
11 mins
Using mockPage code to speed up React Development
4 mins
Creating the Quote Component
9 mins
Vertically Centering the Quote Component
4 mins
The Article Component
10 mins
The Basic Entry Component
5 mins
The Complex Entry Component
9 mins
Render the Appropriate Component in the Dynamic Zone
6 mins
Connecting the React App to Strapi
6 mins
Project Wrapup
2 mins
Source code for Portfolio V2
[NEW] Using Strapi with Gatsby
Introduction to Gatsby
11 mins
Installing Gatsby
5 mins
Gatsby Folder Overview
8 mins
Gatsby complete overview
14 mins
Create a new Page in Gatsby
6 mins
Create pages with MockData in Gatsby
11 mins
Using Gatsby with Strapi
6 mins
Using GraphiQL to fetch articles from Strapi
4 mins
Executing the PageQuery in Gatsby
6 mins
Fetch all articles and display them
6 mins
Adding links to the single article page
2 mins
Building Gatsby and Deploying to Surge
5 mins
[Credits] - Strapi + Gatsby official tutorial
Build an E-Commerce with Gatsby, Strapi and Stripe
Gatsby + Strapi + Stripe Project Overview
Project Introduction
2 mins
Installing Gatsby and Strapi
4 mins
Set up the Strapi-Source Gatsby Plugin
4 mins
Setting up the Product Content Type
7 mins
The All Products Page
6 mins
Display the Products in a grid
7 mins
Formatting the Product Price
5 mins
Quick Design Improvements
3 mins
Linking from Product card to Single Product Page
6 mins
Using the Unique Field to generate the Product URL Slug
4 mins
The Single Product Page Template
6 mins
Create the Single Product Page with the createPages API
8 mins
Single Product Page design improvements
6 mins
How to build the Cart
5 mins
Build a Cart with LocalStorage
4 mins
Build an Interface to interact with the Cart: addToCart
6 mins
Track quantities in the cart
6 mins
Build the Cart Page
5 mins
Improve the design of the Cart Page
6 mins
Allow the customer to change quantities
7 mins
Use a Hook to select Product Quantities in Single Product Template
7 mins
Use a Hook to Re-render the Cart once quantities have changed
4 mins
Next steps, discussion on why you may need context or redux for state management
2 mins
Build a Cart Math Library
8 mins
Adding Shipping Fees to the Math Library
6 mins
[THEORY] How to use Stripe for Checkout
3 mins
Alternative way for checkout demo
Create the Order Content Type
6 mins
Set up Stripe in the Strapi backend with a Custom Controller
7 mins
Test the Stripe Integration with Postman
5 mins
Building a Sanitized Cart in our Custom Controller
9 mins
"Importing" our math library to the backend
10 mins
Install and set up the Stripe Checkout Components
6 mins
Use Stripe Elements to display the Credit Card input field
9 mins
Retrieve a paymentIntent from the frontend so that Stripe can collect the card
8 mins
Generate the paymentIntent with the real Cart object
3 mins
Fix a bug where the products weren't loading properly in the Strapi backend
5 mins
Process the Card with Stripe
5 mins
Add a Loading Indicator
8 mins
Use Context and Hooks for the Cart
8 mins
Refactor the Checkout Component to use Cart from Context
4 mins
Refactor all Pages to use Context
11 mins
Add the Cart Counter to the Header Component
6 mins
Show a Cart Icon with a Link to the Cart Page
8 mins
Show the total quantity of Product next to the Cart Icon
2 mins
[THEORY] How to create Orders in Strapi
3 mins
Add Shipping Info Form in Frontend and Update the Order Content Type
15 mins
Style the Form and How to Edit the dynamically built Inputs
4 mins
Simple Form Validation
3 mins
Create the Order with a fetch POST request
6 mins
Use a Custom Controller for the Order Creation
8 mins
Calculate totals in the Order Creation Controller
7 mins
Fix a bug related to strapiId vs id
5 mins
Validate the paymentIntent
7 mins
Ensuring the paymentIntent is used only once
7 mins
Ensure paymentIntent total is same as Cart total
4 mins
Show Success Message on Order Creation
4 mins
Polish up the Cart Page / Checkout
6 mins
Gatsby Ecommerce With Strapi and Stripe Wrap Up
7 mins
E-commerce Source Code
[NEW] Gatsby - Extra Lessons
Exploring the Gatsby Plugin Documentation
7 mins
EXTRA - Clear Cache.mp4
1 min
The Complete Strapi Course Wrapup