Seeking Advice: Making a Private Shopify App Public

Dear Developers,

I hope this email finds you well.
Lately, I have been able to launch my own private app for one of Shopify plus merchants. I am thinking to make this app public meaning able to have this app in Shopify app store.

As of now I have hosted this private app on fly.io.

This app is the simple app that would provide shipping information based on Shipping address. I have built this simple app via Remix JS.
right now I have used SQLite database and I have used two models in schema.prisma(Sqlite) . Now my question is can you please give me help/information in making this app public. As I believe for public app should transition from a single-tenant model to multi-tenant model meaning each merchant will need their own database or isolated data storage. Can you please give me some instructions on it.

I would really appreciate it.
Many thanks

Hi Ankit,

For a public Shopify app, you would need to ensure that data is isolated per merchant. This can be achieved by:

  • Database Design: Use a relational database like PostgreSQL or MySQL instead of SQLite. Add a merchant_id column to all relevant tables to segregate data.
  • Authentication: If you’ve used the Remix template, OAuth should be already implemented. But you’ll need to test that your app uses session tokens for all authenticated requests, and you’ve configured your app’s required access scopes using the Shopify CLI or the app’s configuration file.
  • Environment Variables: Store sensitive keys like SHOPIFY_API_KEY and SHOPIFY_API_SECRET securely in environment variables.

Since you are hosting on Fly.io, ensure:

  • Your app is configured to handle multiple tenants.
  • Use persistent storage for your database if you continue with SQLite, or migrate to a cloud database service like AWS RDS or Google Cloud SQL

Finally, to make your app public, you need to select the Public Distribution method in the Shopify Partner Dashboard. This allows your app to be listed on the Shopify App Store and installed by multiple merchants. This doc will also be helpful to ensure you’re meeting the requirements of the Shopify App Store: Checklist of requirements for apps in the Shopify App Store

Hope this helps!

1 Like

Hi @Liam-Shopify

Thank you so much for your help and information.
I might re-build my app to have PostgreSQL database as my current SQLite does not support relational database.
Thank you again.

Many thanks,
Ankit

1 Like

Best of luck! Let us know if you run into any other issues :slight_smile: