• Professional Development
  • Medicine & Nursing
  • Arts & Crafts
  • Health & Wellbeing
  • Personal Development

Course Images

The Complete Strapi™ Course with Plugins and Deployment

The Complete Strapi™ Course with Plugins and Deployment

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 15 hours 7 minutes

  • All levels

Description

Welcome to the Complete Strapi Course, where we will start from the basics and learn how to build and deploy a full app with custom features and a full plugin. We will be building our own developer blog application and learning how to deploy it with two different architectures and CI/CD pipeline. Basic knowledge of JavaScript and React is a requirement.

In this course, we will drive you from the very basic concepts to building, customizing, and deploying a complete Strapi application. We will quickly introduce Strapi and set up our working environment at the beginning of this course. Once everything is in place, you will learn about content types, fields, relations, components, dynamic zones, and authorization and authentication systems. Then you will learn how to work with REST API and GraphQL API. Next, we will cover custom routes, controllers, services, policies, and middleware. Later in the course, we will cover the Admin Panel and learn how to customize it. Then learn how to create a complete plugin that is ready for the Strapi marketplace. Finally, you will learn how to deploy our Strapi API. The application we will be creating includes features built by extending the Strapi core through custom logic (routes, controllers, GraphQL resolvers, and so on). Furthermore, in this course, you will be developing a complete plugin (admin + server code) that is ready to be published on the Strapi Market. (And, in fact, you will find it there now!) The Strapi Plugin section is a course in the course, and it will give you the skills to propose Strapi plugins to customers, both through the newborn Strapi market (that has high growth potential) and directly. By the end of this course, you will feel empowered as you will master a framework that dramatically speeds up time to market in developing production-ready backend applications, while not sacrificing extensibility to adapt it to endless use cases and business requirements! All the resources for this course are available at: https://github.com/PacktPublishing/The-Complete-Strapi-Course-with-Plugins-and-Deployment

What You Will Learn

Create a complete Strapi application with custom features
Master Strapi basics such as content types, relations, components, dynamic zones, and more
Customize the Strapi REST API with custom routes, controllers, services, and so on
Customize the Strapi GraphQL API with custom operations
Learn Strapi plugins development by creating a full plugin
Deploy Strapi with two different architectures and CI/CD pipeline

Audience

This course is perfect for anyone that wants to add Strapi to their developer toolbox, being it the most popular headless CMS in the market (and still growing!), which combines top-level out-of-the-box features with strong flexibility and extensibility.

One must have a basic knowledge of JavaScript and for the Strapi Plugins section, only the admin UI part, a basic knowledge of React will be useful.

Approach

The course is completely hands-on and follows a learn-by-doing approach. This is a well-organized and well-balanced course where we will begin with the theory to learn about Strapi and then practice by learning how to build, customize, and finally deploy an entire Strapi application. In this course, we will also build a project from beginning to end, giving us practical experience of using Strapi.

Key Features

Master Strapi 4, the leading headless CMS, from basic to advanced skills * Interact with your app through Strapi's REST and GraphQL API * Learn by building a real-world developer blog application

Github Repo

https://github.com/PacktPublishing/The-Complete-Strapi-Course-with-Plugins-and-Deployment

About the Author
Artcoded Academy

Artcoded Academy is a place to learn full-stack JavaScript and Typescript skills. They feel coding is the best way to empower oneself as a creator, ultimately to bring ideas to life. They teach coding in a concrete, project-oriented way, by targeting a mono-language stack that a solo developer can manage as a one-man business.

Course Outline

1. Welcome to the Course

Welcome to the course! In this section, we will get introduced to the course learning objectives and the course structure.

1. Course Teaser

In this video, we will take a quick sneak peek into the course.

2. Course Structure: Optimize Your Learning Path

In this video, we will spend some time on understanding the course structure and optimize your learning path.

3. Join the Learning Community

Let us join a learning community, which will help you raise and resolve all your doubts.

2. Introduction

In this section, we will get introduced to Strapi and get started with Strapi.

1. What Is Strapi?

In this video, we will get introduced to Strapi and understand what it is.

2. Course Project: An Overview

In this video, we will have a look at our developer blog application project that we will be building in this course.

3. Install and Manage NodeJS with NVM

In this video, you will learn how to install and manage NodeJS with NVM. Refer to the code bundle for the installation guide.

4. Creating the Strapi Project

In this video, we will get started with our Strapi project.

5. More on Strapi Installation

In this video, we will understand the use of the two Strapi QuickStart scripts that we have used in the previous video.

6. How to Use Typescript (Optional)

In this optional video, you will learn how to bootstrap a Strapi project with Typescript and how to convert an existing project to TS.

7. Admin Panel: Users, Roles, and Initial Tour

In this video, we will have a quick view at the admin panel and understand what users and roles are for, then take an initial tour of the dashboard.

8. How to Update Strapi

In this video, you will learn about different Strapi versions and learn how to update Strapi.

3. Designing Strapi Content Types

In this section, you will learn how to design Strapi content types.

1. Content Types: An Introduction

In this video, we will be creating our first Strapi content types and understand what content types are.

2. Data Fields

In this video, we will understand different data fields such as text, rich text, number, date, Boolean, relation, email, password, and more.

3. Adding Fields to a Content Type

In this video, you will learn how to add fields to a content type.

4. Creating the Tag Collection Type

In this video, you will learn how to create the tag collection type.

5. Relation Fields

In this video, you will learn how to add a new relation field.

6. Components

In this video, you will learn how to use Strapi components to improve the code reusability.

7. Using the Content Manager

In this video, you will learn how to use the content manager.

8. Creating Service and Course Content Types

In this video, you will learn how to create service and course content types.

9. Creating a Single Content Type

In this video, you will learn how to create a single content type.

10. Creating a Component for Posts Selection

In this video, you will learn how to create a component for Posts Selection.

11. Creating a Dynamic Zone

In this video, you will learn how to create a dynamic zone.

12. Creating the Homepage Content Entry

In this video, you will learn how to create the homepage content entry.

13. Fixing the Homepage

In this video, you will learn how to fix the homepage.

14. Creating a Global Configuration Type

In this video, you will learn how to create a global configuration type.

15. Creating Header and Footer Types

In this video, you will learn how to create header and footer types.

16. SEO and Page Challenge

In this video, we will work with SEOConfig.

17. Finishing the Blog Application

In this video, we will be working on finishing the blog application by designing our pages data types.

18. Strapi Architecture: Generated Code Overview

In this video, we will have a look at the code that is generated by Strapi.

4. Permissions, Authentication, and Authorization

In this section, we will start working with Strapi APIs and learn about permissions, authentication, and authorization.

1. Install Some Tools

In this video, we will see which additional tools are used in this course.

2. Performing Public API Operations

In this video, we will be performing public API operations.

3. Authentication and Authorization: The Theory

In this video, you will learn the theoretical aspect of authentication and authorization in roles.

4. Performing User Authentication Through API

In this video, we will test and perform actual user authentication through API.

5. Performing Our First Authenticated Operation

In this video, you will learn how to perform our first authenticated operation.

6. API Tokens

In this video, we will understand what API tokens are and how to create them.

5. Working with REST API

In this section, we will start working with REST API and learn how to use it.

1. CRUD Operations on Collection Types

In this video, we will cover CRUD operations on collection types.

2. CRUD Operations on Single Types

In this video, we will cover CRUD operations on single types.

3. API Parameters: An Introduction

In this video, we will get introduced to API parameters.

4. Sort the API Response

In this video, you will learn how to sort the API response.

5. Filter Your API Responses

In this video, you will learn how to filter your API responses.

6. Populate Your API Responses with Relations and More

In this video, you will learn how to populate your API responses with relations and more.

7. Select Fields for Your API Responses

In this video, you will learn how to select fields for your API responses.

8. Paginate Through Content Through API

In this video, you will understand what pagination is and how it works.

9. Deal with Draft Content Through API

In this video, you will learn how to deal with draft content through the API.

6. Working with GraphQL

In this section, we will start working with GraphQL and learn how to use it.

1. Installing the GraphQL Plugin

In this video, you will learn how to install the Strapi GraphQL plugin and learn how to enable its endpoint.

2. GraphQL Queries on Public Data

In this video, we will work with GraphQL queries on public data.

3. User Authentication with GraphQL

In this video, you will learn how to perform user authentication with GraphQL.

4. First Authenticated GraphQL Query

In this video, we will work on our first authenticated GraphQL query.

5. Getting Nested Components Through GraphQL

In this video, you will learn how to get nested components through GraphQL.

6. Getting Dynamic Zones Through GraphQL

In this video, you will learn how to get dynamic zones through GraphQL.

7. GraphQL Mutations

In this video, we will cover GraphQL mutations.

8. GraphQL Operators

In this video, you will learn about GraphQL operators.

7. Extending Strapi Core: Custom Controllers and More

In this section, we will dive into Strapi core and learn how to use custom controllers and more.

1. Customizing Strapi: What We Will Build

In this video, we will be focusing on customizing Strapi API and learn how to extend Strapi core.

2. Strapi Architecture: An Overview

In this video, we will have a look at the Strapi architecture by understanding the flow of a real request.

3. Request and Response

In this video, we will understand the starting and ending point of our flow, that is, request and response.

4. Data Models and APIs

In this video, we will understand the data models and APIs.

5. Lifecycle Hooks

In this video, we will spend some time understanding the lifecycle hooks.

6. Configuring Core Routes

In this video, we will get introduced to routes, understand their logic, and learn how to configure core routes.

7. Creating Custom Routes

In this video, you will learn how to create custom routes.

8. Policies

In this video, we will talk all about policies and how to implement them.

9. The Strapi Object

In this video, we will talk about the Strapi object and understand it.

10. Middleware

In this video, we will focus on Middleware.

11. Controllers: Creating Custom Controllers

In this video, we will talk about the core model of our request and response flow, that is, controllers. You will also learn how to create custom controllers.

12. Controllers: Extending Core Controllers

In this video, you will learn how to extend the core controllers.

13. Controllers: Replacing Core Controllers

In this video, you will learn how to replace the core controllers.

14. Services

In this video, we will cover services and the underlying data APIs.

15. Entity Service and Query Engine APIs

In this video, we will cover entity service and query engine APIs.

16. Premium Posts: Introduction

In this video, you will learn how to implement our first feature called Premium posts and get introduced to the problem.

17. Premium Posts: Solution 1

In this video, we will have a look at the first solution to our Premium posts problem.

18. Premium Posts: Solution 2

In this video, we will have a look at the second solution to our Premium posts problem.

19. Premium Posts: Solution 3

In this video, we will have a look at the third solution to our Premium posts problem.

20. Premium Posts: The FindOne Controller

In this video, we will work on the findOne controller.

21. Post Likes: Part 1

In this video, you will learn how to implement our second feature called the Post likes and start working on it.

22. Post Likes: Part 2

In this video, we will continue with the Post likes feature.

23. Lifecycle Hooks: The Theory

In this video, you will learn about the Strapi lifecycle hooks.

24. Lifecycle Hooks Exercise: Part 1 (Challenge)

In this video, we will have a look at the lifecycle hooks exercise and understand the challenge.

25. Lifecycle Hooks Exercise: Part 2 (Challenge Solution)

In this video, we will look at a possible solution to the lifecycle hooks exercise challenge.

26. Lifecycle Hooks Exercise: Part 3 (First Programmatic Hook)

In this video, we will cover the first programmatic hook.

27. Lifecycle Hooks Exercise: Part 4 (Second Programmatic Hook)

In this video, we will cover the second programmatic hook.

28. Lifecycle Hooks Exercise: Part 5 (Declarative Hook)

In this video, we will cover the declarative hook.

29. Webhooks: An Overview

In this video, we will have a quick overview of the Webhooks.

8. Extending the GraphQL API

In this section, you will learn how to extend the GraphQL API.

1. The GraphQL Plugin and How It Works

In this video, you will learn about the GraphQL plugin and understand how it works.

2. Customizing the GraphQL CRUD Operations

In this video, you will learn how to customize the GraphQL CRUD operations.

3. Extensions: Nexus Versus GraphQL SDL

In this video, you will learn about extensions such as Nexus and GraphQL SDL.

4. Extending the Schema (Custom Mutation)

In this video, you will learn how to extend the schema (custom mutation).

5. Creating a Custom Resolver

In this video, you will learn how to create a custom resolver.

6. Applying an Auth Scope to GraphQL Operations

In this video, you will learn how to apply an auth scope to GraphQL operations.

7. Shaping a GraphQL Response

In this video, you will learn how to shape a GraphQL response.

8. Reorganizing GraphQL Extension Code

In this video, you will learn how to reorganize GraphQL extension code.

9. Customizing the Strapi Admin

In this section, you will learn how to customize the Strapi Admin.

1. Admin Panel Configuration: Introduction

In this video, we will have a quick introduction to admin panel configuration.

2. Admin Server Configurations

In this video, we will cover admin server configurations.

3. Admin Panel Translations

In this video, we will cover admin panel translations.

4. Changing Admin Logos and More

In this video, you will learn how to change admin logos.

5. Changing Admin Color Scheme

In this video, you will learn how to change the admin color scheme.

10. Strapi Plugin Development: Create a Plugin

In this section, we will cover Strapi plugin development and learn how to build a complete plugin.

1. Introducing Our Strapi Plugin "GitHub Projects"

In this video, we will get introduced to our Strapi plugin, "GitHub Projects".

2. Creating and Activating a Plugin

In this video, you will learn how to create and activate a plugin.

3. Integrating the Third-Party GitHub API

In this video, you will learn how to integrate the third-party GitHub API.

4. Plugin Route, Controller, and Service

In this video, we will cover plugin route, controller, and service.

5. Fetching Data from the GitHub API

In this video, you will learn how to fetch data from the GitHub API.

6. Adapting the API Response

In this video, you will learn how to adapt the API response.

7. Creating the Project Content Type

In this video, you will learn how to create the project content type.

8. Creating a Test Project

In this video, you will learn how to create a test project.

9. Fetching Related Projects

In this video, you will learn how to fetch related projects.

10. Dealing with Markdown Content

In this video, you will learn how to deal with markdown content.

11. Admin Panel: Plugin Icon and First Component

In this video, you will learn about the plugin icon and the first component in the admin panel.

12. The Strapi Design System

In this video, we will understand the Strapi design system.

13. Fetching Data from the Admin Panel

In this video, you will learn how to fetch data from the admin panel.

14. Showing Data in a Table

In this video, you will learn how to show data in a table.

15. Setting Up the Action Icons

In this video, you will learn how to set up the action icons.

16. Implementing the Checkbox Logic

In this video, you will learn how to implement the checkbox logic.

17. Applying the Proper Auth Policy to Our Route

In this video, you will learn how to apply the proper auth policy to our route.

18. Generating a Single Project

In this video, you will learn how to generate a single project.

19. Providing UI Feedback to the Admin User

In this video, you will learn how to provide UI feedback to the admin user.

20. Deleting a Project

In this video, you will learn how to delete a project.

21. Showing a Confirmation Dialog Before Deleting

In this video, you will learn how to show a confirmation dialog before deleting.

22. Showing Buttons for Bulk Actions

In this video, you will learn how to show buttons for bulk actions.

23. Creating Projects in Bulk

In this video, you will learn how to create projects in bulk.

24. Deleting Projects in Bulk

In this video, you will learn how to delete projects in bulk.

25. Admin RBAC: Restricting Plugin Use to Specific Roles

In this video, you will learn how to restrict plugin use to specific roles.

26. Admin RBAC: Restricting Routes to Specific Roles

In this video, you will learn how to restrict routes to specific roles.

27. Fixing Error Handling

In this video, you will learn how to fix error handling.

28. Exposing Projects with Public Routes

In this video, you will learn how to expose projects with public routes.

29. Plugin Localization

In this video, we will cover plugin localization.

30. Extract the Plugin as a Separate Package

In this video, you will learn how to extract the plugin as a separate package.

31. Publish the Plugin to NPM Registry

In this video, you will learn how to publish the plugin to the NPM registry.

32. Install the Plugin as a Dependency (And Publish to the Strapi Market)

In this video, you will learn how to Install the plugin as a dependency and publish to the Strapi Market.

11. Deploy Strapi in Production

In this section, you will learn how to deploy Strapi API and admin on the same server.

1. Introduction to Deployment

In this video, we will get an introduction to deployment.

2. Creating a GitHub Repo for Our Project

In this video, you will learn how to create a GitHub repo for our project.

3. Deployment Architectures: An Overview

In this video, you will learn about deployment architectures: an overview.

4. Environment Configurations

In this video, we will work on environment configurations.

5. Database Creation and Configuration

In this video, we will work on database creation and configuration.

6. Server Configuration

In this video, we will cover server configuration.

7. Admin Configuration

In this video, we will cover admin configuration.

8. First Strapi Deployment

In this video, we will work on our first Strapi deployment.

9. Configure the Email Plugin

In this video, you will learn how to configure the email plugin.

10. Configure an External Upload Provider (Cloudinary)

In this video, you will learn how to configure an external upload provider (Cloudinary).

11. Configure a Custom Domain

In this video, you will learn how to configure a custom domain.

12. Deploying Admin as a Static Site: Configuration

In this video, you will learn how to deploy admin as a static site: configuration.

13. Deploying Admin as a Static Site: Creating the Site

In this video, you will learn how to deploy admin as a static site: creating the site.

14. Make Absolute Admin URLs Work

In this video, you will learn how to make absolute admin URLs work.

15. Infrastructure as Code: Make Your Strapi Deployment Reusable (Optional)

In this optional video, we will cover the infrastructure as code and learn how to make our Strapi deployment reusable.

12. What's Next (Bonus)

Welcome to the closing section of the course.

1. Final Word

Congratulations on completing this course.

Course Content

  1. The Complete Strapi™ Course with Plugins and Deployment

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews