An Improved Getting Started Experience


At StepZen, we believe there's a lot of power in providing developers with a single, consolidated API that brings together all of their disparate backends. But we also want to make that power available to developers as quickly and easily as possible. That's why we've been focused on creating tools that can help make the process of getting started building your API in StepZen even easier. Today I wanted to share two new capabilities we just released - create-stepzen-app
and stepzen start
. The two features work together to simplify the process of building and deploying your GraphQL API on StepZen.
Let's see how this works!
create-stepzen-app
create-stepzen-app
is a new tool that generates starter code to help you get begin deploying, testing and customizing your first GraphQL API using StepZen. You can use create-stepzen-app
via npx:
npx create-stepzen-app my-project
You'll be asked a series of questions (mostly just your account details, which are preset if you've already run stepzen login
on the StepZen CLI). Finally, it will offer you the option to choose from pre-existing templates.
For example, choosing hello-world
sets up a simple StepZen API to get the weather from OpenWeatherMap using longitude and latitude.
interface WeatherReport {
date: Date!
latitude: Float!
longitude: Float!
temp: Float
feelsLike: Float
description: String
units: String
}
type OpenWeatherMapReport implements WeatherReport {}
type Query {
weatherReport (latitude: Float!, longitude: Float!): WeatherReport
openWeatherMapReport (latitude: Float!, longitude: Float!): OpenWeatherMapReport
@supplies (query: "weatherReport")
@connector(type: "__openweathermap_weather_location_connector__", configuration: "owm_default")
}
If you change directory into hello-world
, we can explore a new feature of the StepZen CLI.
stepzen start
We are continuously improving the developer experience while building, deploying and testing an API on StepZen. To that end, stepzen start
eliminates the need to run multiple commands to upload schemas and configurations and then deploy them. It also eliminates the need to have something like GraphQL Playground installed to test queries against your new API. Instead, everything is taken care of by stepzen start
and you can test via the embedded GraphiQL editor.
Let's see how this works. If you've generated a project using create-stepzen-app
it has the default project structure that stepzen start
assumes (don't worry if you don't as you can override the defaults, just run stepzen start --help
for a list of options). For instance, running stepzen start api/hello-world
, where api/hello-world
are my folder/schma-name
, from within the hello-world
project will automatically upload the API and configuration, deploy it and then open a GraphiQL browser editor to test it.
The GraphiQL editor that opens in a browser tab is already connected to my new API deployed on StepZen. This means I can immediately run queries against it for testing.
Even better - stepzen start
now watches any changes I make to my files and then automatically uploads and deploys them, making the build/deploy/test workflow much faster and more convenient.
Where to Go From Here
If you're already a part of the StepZen private alpha, all you need to do is update the CLI to get accesss to stepzen start
. Just run npm update -g stepzen
and you're good to go! Nothing additional is required to use create-stepzen-app
.
If you're not already part of the private alpha, you can request an invitation.
To learn more about how to use both create-stepzen-app
and stepzen start
, check the docs.