How to dev my own app, is there a tutorial?

hi,

i wish to develop my own app because i don’t find one which fill my basic need without adding too many feature.

is there a tutorial or starter-kit for developer like me (devops/fullstack profil, 20y experience).

Imagine i just want to export as CSV/XLS the lineitem.properties from orders. Where should i start first from ?

Best regards

Start here – Build

Also, Shopify has free Flow app for backend automations (if plan permits) (there are paid alternatives too, like Mechanic, a bit more powerful).

Flow can’t export file, but can process your orders and add lines to Google Sheet, which can be an option to consider. Or send e-mail to you.

huh find any shopify app tutorial you need right here

Or SEARCH here on the forums first https://community.shopify.com/search?q=app+tutorial

Use curl and a custom app to fetch from either the REST(deprecated) or graphql api
If the merchant/staff/collaborator https://help.shopify.com/en/manual/apps/about-apps#custom-apps
If the dev on a merchant or many merchants stores stuff like https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/generate-app-access-tokens-admin

And use the actual development forums https://community.shopify.dev/ waaaaaay better experience and knowledge there.
These are the merchant app RECOMMENDATION subforum says so on the tin.
At minimum use Technical Q&A for specific issues but really devs should be looking for actual dev places.

For your use case (pulling line item properties from orders and exporting to CSV), the fastest route is a custom app scoped to your single store. Go to your Shopify admin, Settings > Apps and sales channels > Develop apps > Create an app. Enable the “read_orders” access scope under API scopes, then install it to your store. That gives you an API access token.

From there you can just hit the GraphQL Admin API directly with curl or a small script. Here’s a quick example that pulls orders with line item custom attributes:

{
  orders(first: 50, query: "created_at:>2024-01-01") {
    edges {
      node {
        id
        name
        createdAt
        lineItems(first: 50) {
          edges {
            node {
              title
              quantity
              customAttributes {
                key
                value
              }
            }
          }
        }
      }
    }
  }
}

customAttributes on LineItem is the GraphQL equivalent of lineitem.properties from Liquid. You can test queries using the GraphiQL app built into your admin, or use curl against your store’s Admin API GraphQL endpoint with your access token in the X-Shopify-Access-Token header.

Parse the JSON response and flatten it to CSV with whatever language you prefer. Python, Node, even jq piped to csvtool. With 20 years experience you’ll have that part sorted in an afternoon.

If you later want to build a proper embedded app with a UI inside the Shopify admin, then yes go through Build and use shopify app init from the Shopify CLI. It scaffolds a Remix app with auth already wired up. But honestly for a personal CSV export tool, the custom app approach above is all you need. No hosting, no OAuth dance, just an API token and a script.

thank you all for the replies.

i have a last one.

As a shop owner (basic plan), can i create my own app to fill my need but not put my app in the app shot ? i don’t want to sell my app to other (no time to make the seller/support/doc job to whom would be install my app :slight_smile: ).

Best regards

Yes, there are tutorials, and I’d actually recommend starting with Shopify’s official developer docs instead of random videos because the app architecture changes over time. Shopify now provides a guided path for creating apps with Shopify CLI, connecting to a development store, and running the app locally with starter templates.

A simple learning path would be:

  1. Create a Shopify Partner account and a development store

  2. Install Shopify CLI

  3. Generate your first app template

  4. Learn authentication + Shopify APIs

  5. Add one small feature and test locally

If you already know JavaScript or web development, the learning curve becomes easier. Community advice also tends to recommend building a very small app first instead of trying to publish a full product immediately.