Designing Web APIs With Strapi: Get Started With the Strapi Headless CMS by Building a Complete Learning Management System API

Khalid Elshafie & Mozafar Haider

Language: English

Publisher: Packt Publishing

Published: Feb 27, 2022

Description:

Leverage the power of Strapi to build self-hosted, customizable, and performant content APIs

Key Features

  • Discover how Strapi can help you build APIs quickly and focus on your products and features
  • Learn how to put Strapi into practice by implementing it in real-world scenarios
  • Understand how to use Strapi's powerful features to customize your APIs

Book Description

Strapi is a Node.js-based, flexible, open-source headless CMS with an integrated admin panel that anyone can use and helps save API development time. APIs built with Strapi can be consumed using REST or GraphQL from any client. With this book, you'll take a hands-on approach to exploring the capabilities of the Strapi platform and creating a custom API from scratch.

This book will help JavaScript developers to put their knowledge to work by guiding them through building powerful backend APIs. You'll see how to effortlessly create content structures that can be customized according to your needs, and gain insights into how to write, edit, and manage your content seamlessly with Strapi. As you progress through the chapters, you'll discover a wide range of Strapi features, as well as understand how to add complex features to the API such as user authentication, data sorting, and pagination. You'll not only learn how to find and use existing plugins from the open-source community but also build your own plugins with custom functionality with the Strapi plugin API and add them to the admin panel. Finally, you'll learn how to deploy the API to Heroku and AWS.

By the end of this book, you'll be able to build powerful, scalable, and secure APIs using Strapi.

What you will learn

  • Explore Strapi and understand how it works
  • Define content types to build APIs quickly and efficiently
  • Understand authentication and authorization in Strapi
  • Create production-ready APIs with Strapi
  • Deploy the Strapi API to various environments, including Heroku and AWS
  • Use best practices to run the Strapi API in production
  • Sync permissions to access the API between multiple environments
  • Write basic tests for API utilities as well as the endpoint

Who this book is for

This book is for backend and frontend JavaScript developers. Experienced API developers will learn a new, fast, and flexible way of building APIs, while frontend developers will be able to take a step toward becoming full-stack developers by learning how to leverage Strapi for building APIs quickly. Basic knowledge of JavaScript and REST API concepts is assumed.

Table of Contents

  1. An Introduction to Strapi
  2. Building Our First API
  3. Strapi Content-Types
  4. An Overview of the Strapi Admin Panel
  5. Customizing Our API
  6. Dealing with Content
  7. Authentication and Authorization in Strapi
  8. Using and Building Plugins
  9. Production-Ready Applications
  10. Deploying Strapi
  11. Testing the Strapi API
  12. Appendix: Connecting a React App to Strapi

About the Author

Khalid Elshafie is an experienced, senior full stack developer/software engineer with over 10 years of experience working across multiple frontend and backend technologies involved in designing and developing scalable web and mobile applications using multiple technologies, as well as in a variety of workplaces, from start-ups to larger consultancies. Khalid's passion for software engineering extends to the creation of barmaga.io, with Mozafar, where he has 45+ hours of video content on JavaScript, React.js, AWS and Serverless, Node.js, and Strapi. He also has a well-established YouTube channel with content focused on teaching programming.

Mozafar Haider is a senior full stack engineer with over 15 years of experience working in organizations ranging from early-stage start-ups to scale-ups and corporates, in Barcelona, London, and Glasgow, among other places. He's passionate about teaching coding, especially to groups under-represented in tech, and was one of the co-founders of a coding school for refugees based in Glasgow. He also created, along with Khalid, barmaga.io, a platform for teaching coding in Amharic, Arabic, and Swahili.