StepZen 101 - What is StepZen and How Does it Work?
Published:
StepZen 101 provides an overview of StepZen's main capabilities, including connecting to various data sources and using custom directives to create a unified GraphQL API.
Episode Summary
This episode offers a comprehensive introduction to StepZen, a platform for building and deploying GraphQL APIs. The presenter, Anthony Campolo, demonstrates StepZen’s key features by creating a project from scratch. He shows how to connect to different data sources, including mock JSON data, REST APIs, GraphQL endpoints, and MySQL databases. The tutorial covers the use of custom directives, schema stitching, and the creation of a unified GraphQL API that can query multiple data sources simultaneously. Campolo also touches on StepZen’s configuration management, API key handling, and integration with services like Railway for database hosting. The presentation aims to give viewers a solid understanding of StepZen’s capabilities and its potential for simplifying API development and management in full-stack Jamstack applications.
Chapters
00:00 - Introduction and Project Setup
Anthony Campolo introduces himself and outlines the goals of the StepZen 101 tutorial. He begins by creating a blank project and explaining the basic file structure, including the importance of the config.yaml file for API key management. Campolo demonstrates how to set up the initial schema files and create a simple mock JSON data query. This chapter provides a foundation for understanding StepZen’s project structure and basic configuration, setting the stage for more complex operations in the following sections.
02:55 - Connecting to REST and GraphQL Endpoints
This chapter delves into connecting StepZen to external data sources. Campolo starts by demonstrating how to connect to a REST API using the Cat API as an example. He explains the process of setting up the schema, using custom directives, and handling API keys securely. The tutorial then moves on to connecting to a GraphQL API, using the Rick and Morty API as an example. Campolo highlights the simplicity of connecting to GraphQL endpoints with StepZen and shows how to query data from both REST and GraphQL sources within the same project. This section effectively illustrates StepZen’s ability to unify diverse data sources under a single GraphQL API.
12:30 - Setting Up a MySQL Database with Railway
In this chapter, Campolo introduces the process of connecting StepZen to a database backend. He uses Railway, a platform for easily spinning up database instances, to create a MySQL database. Despite some initial technical difficulties, Campolo demonstrates how to create a table, insert data, and connect to the database using the MySQL client. He then uses StepZen’s import command to introspect the database schema and generate the necessary GraphQL types and queries. This section showcases StepZen’s capability to work with databases and highlights its integration with modern development tools and platforms.
21:10 - Final Demo and Conclusion
The final chapter brings together all the components demonstrated earlier. Campolo executes a “mega query” that combines data from the mock JSON, REST API, GraphQL API, and MySQL database into a single GraphQL query. He briefly mentions additional StepZen features not covered in the tutorial, such as the @sequence and @materializer directives. The presentation concludes with an overview of StepZen’s broad capabilities and potential applications in full-stack development. Campolo provides information on where viewers can find more resources and how to connect with the StepZen community, wrapping up the comprehensive introduction to the platform.